redis 如何查看某个库的key_redis简介及常用命令详解

redis是什么?

redis全称(Remote Dictionary Server 远程字典服务),是一个免费开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。

redis常用的5种数据类型?

String、List、Hash、Set、Zset

redis中数据库默认是多少个db?

redis下,数据库是由一个整数索引标识(从0开始到databases-1),而不是由一个数据库名称。默认情况下,一个redis有16个库(0-15),具体多少个由redis.conf配置文件指定。

071e26cb866648de53e5f6e298ebddc9.png

redis.conf

默认情况下,一个客户端连接到数据库0,如下图:

7fef5ce86c344fe2e59120678c082ed9.png

redis常用命令:

http://doc.redisfans.com/(redis命令参考大全)

Key(键):

  • keys * --列出当前库的所有key
  • exists key --判断某个key是否存在
  • move key db --移除当前库并复制到指定库
  • expire key -- 给指定的key设置过期时间(秒钟)
  • ttl key --查看还有多少秒过期(-1表示永不过期-2表示已过期)
  • type key --查看key是什么数据类型

练习:

31c208dc913899366f0b8570c6800736.png

String(字符串):

  • set/get/del/append/strlen --添加/查询/删除/拼接/长度
  • incr/decr/incrby/decrby --自增/自减/按指定值增加/按指定值减少,一定要是数字才能加减
  • getrange/setrange --获取指定区间范围内的值/设置指定区间范围内的值,超过字符串长度的自动用x00补齐
  • setex(set key expire value)/setnx(set if not exist) --设置key对应的值value,并设置有效期(秒)/如果不存在,则set,存在则不做任何动作
  • mset/mget/msetnx --同时设置/获取一个或多个值,msetnx 设置的key都不存在时才成功,反之则失败
  • getset key value --将给定 key 的值设为 value ,并返回 key 的旧值(old value)

练习:

9d76891aab39797a881caf21c3b441f1.png

图一

5987c406dbe887e1d20ad3338f44be44.png

图二

List(列表)

  • lpush/rpush key value -- 把值插入到列表头部/尾部
  • lrange --返回列表 key 中指定区间内的元素(0 表示列表的第一个元素,-1 最后一个元素, -2 倒数第二个元素)
  • lpop/rpop key --返回并删除列表头部/尾部元素
  • lindex key index --获取index索引上的值(从上到下)
  • llen --链表长度
  • lrem key count value:--删除count个value值,count>0从表头删除,count<0从表尾删除 ,count=0全部删除
  • ltrim key --开始index 结束index --截取指定范围内的值后重新再赋值给key
  • rpoplpush 源列表 目标列表 -- 把源列表的末尾拿出,放到目标列表头部,并返回元素值
  • lset key index value --将列表key下标为index的元素的值设置为value.
  • linsert key before|after pivot value --将值value插入到列表key当中,位于值 pivot 之前或之后。

练习:

89faed6d2380392df8adec0c1ed66a6c.png

图一

d976b7fb38e97dda8b378ca2c67bd2dc.png

图二

Set(集合)

  • sadd key value1 value2 --往集合里面添加元素
  • smembers key --获取集合所有的元素
  • sismember key value --判断集合是否有某个值
  • scard key --返回集合元素的个数
  • srem key value --删除集合某个元素
  • srandmember key --随机取一个元素
  • spop key --返回并删除集合中1个随机元素
  • smove key1 key2 value --将key1中的某个值赋值给key2
  • sdiff/sinter/sunion --差集/交集/并集

练习:

0f1291e5e25cbac15882a65a6e5b6467.png

图一

fe2fe66701c2effa5fb8defbd44c3642.png

Hash(哈希)

key-value模式不变,但value是一个键值对

  • hset/hget/hmset/hmget/hgetall/hdel --一个或多个设置/获取/删除值
  • hlen --返回hash的field数量
  • hexists myhash field --验证field是否存在
  • hkeys/hvals -- 返回hash所有的field/value
  • hincrby/hincrbyfloat --给hash中的filed加上指定的值/指定的浮点数
  • hsetnx hash field value --不存在的情况下设置hash的field为value,存在不做任何操作

练习:

5bd720fb8c2f72a7683bce10fe25f2fb.png

图一

bdd8471df05d1fa9063dad664f11b281.png

图二

Zset(有序集合)

在set基础上,加一个score值

  • zadd --添加元素/获取指定区间内的元素(score可选)
  • zrangebyscore/zrevrangebyscore key min max [withscores] [limit offset count] --返回有序集key中,所有score值(升序/降序排列)介于min和max之间的成员, limit参数指定返回结果的数量及区间,如mysql的limit
  • zrem key member[member...] --移除有序集key中的一个或多个成员,不存在的成员将被忽略。
  • zcard/zcount/zscore --返回集合元素的个数/返回score区间内元素数量/返回有序集key中,成员member的score值。
  • zrevrank/zrank --查询member的排名降序/升序
  • zrevrange/zrange key start stop [withscore] --获取指定区间内的元素(按score降序/升序排列)[score可选]

练习:

164ddac14e55eb72ebfc30f5138942f6.png

图一

6860a3981c67f20a57f0723bee02e6bb.png

图二

以上就是5种常见数据类型的常见使用命令。

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值