【Redis学习笔记】第三章 Redis通用指令

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 【Redis学习笔记】第三章 Redis通用指令,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文


在这里插入图片描述



1、key的通用操作

各种数据类型中,key都是一个字符串,通过key获取redis中保存的数据。


**key通用的基本操作:**

  • 删除指定的key
    del key
  • 获取key是否存在
    exists key
  • 获取key的类型
    type key
127.0.0.1:6379> set str str
OK
127.0.0.1:6379> hset hash hash hash1
(integer) 1
127.0.0.1:6379> lpush list list1
(integer) 1
127.0.0.1:6379> sadd set set1
(integer) 1
127.0.0.1:6379> zadd zset 1 zset1
(integer) 1

127.0.0.1:6379> type zset
zset

127.0.0.1:6379> exists str
(integer) 1
127.0.0.1:6379> del str
(integer) 1
127.0.0.1:6379> exists str
(integer) 0

**key通用的扩展操作--时效:**

  • 为指定的key设置有效期
    expire key seconds
    pexpire key milliseconds //毫秒
    expireat key timestamp //使用时间戳
    pexpireat key milliseconds-timestamp

  • 获取key的有效时间
    ttl key
    pttl key
    key不存在返回-2,存在返回-1,存在但设置了有效时长,则返回剩余时长

  • 将key从时效性转换为永久性,实现永久保存
    persist key

127.0.0.1:6379> expire zset 30
(integer) 1
127.0.0.1:6379> ttl zset
(integer) 23

127.0.0.1:6379> persist zset
(integer) 1
127.0.0.1:6379> ttl zset
(integer) -1

**key通用的扩展操作--查询:**

  • 查询key
    keys pattern

    其中的pattern,*匹配任意数量的任意符号 ? 配合一个任意符号 [] 匹配一个指定符号

常用表达式含义
keys *查询所有key
keys it*查询所有以it开头的key
keys ??test查询所有前面两个字符任意,且以test结尾的key
keys u[st]er:1查询所有以u开头,以er:1结尾,中间包含一个字母s或t的key

**key的其他通用操作:**

  • 为key改名
    rename key newkey
    renamenx key newkey //key不存在时改名
  • 对所有的key排序
    sort key
  • 其他通用查看
    help @generic
127.0.0.1:6379> set key01 v1
OK
127.0.0.1:6379> set key02 v2
OK
127.0.0.1:6379> rename key01 key02
OK
127.0.0.1:6379> get key02
"v1"
***注意这里是旧的key的values,相当于set 新key 旧value
--------------------------------------------------------
127.0.0.1:6379> set key001 v1
OK
127.0.0.1:6379> set key002 v2
OK
127.0.0.1:6379> renamenx key001 key002
(integer) 0    //失败
---------------------------------------------------------
127.0.0.1:6379> lpush list001 12 11 19 18 100 50 101
(integer) 7
127.0.0.1:6379> lrange list001 0 -1
1) "101"
2) "50"
3) "100"
4) "18"
5) "19"
6) "11"
7) "12"
127.0.0.1:6379> sort list001
1) "11"
2) "12"
3) "18"
4) "19"
5) "50"
6) "100"
7) "101"
127.0.0.1:6379> lrange list001 0 -1
1) "101"
2) "50"
3) "100"
4) "18"
5) "19"
6) "11"
7) "12"   //注意sort并没有改变原list的顺序

2、数据库通用操作

随着数据量的暴增,key的数量也会增加,极易出现key的重复或冲突,为此,redis为每个服务提供有16个数据库,编号0到15,每个数据库之间的数据相互独立。

在这里插入图片描述

  • 切换数据库
    select index
  • 其他
    quit
    ping
    echo message
127.0.0.1:6379> select 15
OK
127.0.0.1:6379[15]> select 16
(error) ERR DB index is out of range
127.0.0.1:6379[15]> select 0
OK
127.0.0.1:6379>  //看到我们默认在0号数据库
------------------------------------------------
127.0.0.1:6379> ping
PONG
//测试服务器是否连通,断开redis-server,ping卡住

  • 数据移动,相当于剪切
    move key db
  • 数据清除
    dbsize //查看当前库有多少条数据
    flushdb //清空当前编号数据库的数据
    flushall //清空0-15数据库
127.0.0.1:6379> set test 1
OK
127.0.0.1:6379> move test 6
(integer) 1
127.0.0.1:6379> get test
(nil)
127.0.0.1:6379> select 6
OK
127.0.0.1:6379[6]> get test
"1"
-------------------------------------------
127.0.0.1:6379[6]> flushdb
OK
127.0.0.1:6379[6]> keys *
(empty list or set)
-------------------------------------------
127.0.0.1:6379[6]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 38

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/146170.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!