redis五种数据类型的常用命令

目录

redis数据类型

字符串String常用命令

哈希hash常用命令

列表list常用命令

集合set常用命令

有序集合sorted set集合的常用命令

通用命令


redis数据类型

  • 字符串类型(String)
  • 哈希类型(hash)
  • 列表类型(list)
  • 集合类型(set)
  • 有序集合类型(sorted set)

字符串String常用命令

  • set key value

set name huang (设置key 为 name ,value 为 huang)

  • get key

get name (获得 key 为 name 的 value )

  • setex key seconds value

setex age 10 20 (设置key 为 age ,存在时长为10秒 , value 为 20

  • setnx key value

setnx name huang (当key 为 name 不存在时, 设置key 为 name ,value 为 huang)

哈希hash常用命令

hash特别适合用于存储对象,field 表示字段 ,相当于一个对象中的属性名

  • hset key field value

hset 1 name huang (key = 1 , 字段field = name , 值value = huang)

  • hget key field

hget 1 name (获取key=1 ,字段为name的值 value = huang)

  • hdel key field

hdel 1 name(删除key=1的指定字段name)

  • hkeys key

hkeys 1 (获取key=1 的所有字段名称)

  • hvals key

hvals 1 (获取key=1 的所有值)

  • hgetall key

hgetall 1(获取key=1 的所有字段和值)

列表list常用命令

简单的字符串列表,按照插入顺序排序

  • lpush key value1[value2] 将一个或多个值插入到列表头部

lpush mylist a b c (a为第一个元素,b第二个元素插入到列表头部)

  • lrange key start stop 获取列表指定范围内的元素

lrange mylist 0 -1 (表示从0到最后) 用图可以看出结果,说明c也是插入再列表头部的

  • rpop key 移除并获取列表最后一个元素

rpop mylist (可以获取的结果为a ,即列表最后一个元素)

  • llen key 获取列表的长度

llen mylist (获取当前列表的长度)

  • brpop key1[key2] timeout 移除并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到 等待超时或者发现可以弹出元素为止

brpop mylist 10 (阻塞10秒后结束命令)

集合set常用命令

set时String类型的无序集合,集合中的元素是唯一的,说明其不能出现重复元素

  • sadd key member1 meber2 ... 向集合添加一个或多个成员

sadd myset a b c d e f a b(添加了a b 等等成员 ,不含有重复元素)

sadd myset2 a b f g

  • smembers key 返回集合中所有的成员

smembers myset (返回所有的成员,但是是无序的,和插入顺序无关)

  • scard key 获取集合的成员数

scard myset (返回集合中的成员数量,比如这里返回6)

  • sinter key1 key2 ... 返回所有给定集合的交集

sinter myset myset2 (返回 a b f ,即集合myset 与 myset2 中相同的成员)

  • sunion key1 key2 ... 返回所有给定集合的并集

sunion myset myset2 (返回a b c d e f g ,即两个集合中所有的成员)

  • sdiff key1 key2 返回所有给定集合的差集

sdiff myset myset2 (返回c d e ,即返回myset集合中myset2集合没有的成员)

  • srem key member1 member2 ... 移除集合中一个或多个成员

srem myset e f (即移除 e f 成员)

有序集合sorted set集合的常用命令

也是String类型的集合,没有重复成员,每个元素都会关联一个double类型的分数(score)。redis通过分数的大小来为集合中的元素进行从小到大的排序。有序集合的成员是唯一的,但是分数可以重复。常用于排行榜。

  • zadd key score1 member1 [score2 member2 ...] 向有序集合添加一个或者多个成员,或者更新已经存在成员的分数

zadd mysort 1.1 a 1.2 b 2 c 0.1 huang ( 则集合中成员的顺序为:huang a b c)

  • zrange key start stop 返回再区间内的所有成员

zadd mysort 0 -1 (返回所有的成员)

  • zincrby key increment member 有序集合中对指定成员的分数加上增量increment

zincrby mysort 3.1 huang (将成员huang的分数加上3.1,并且返回当前huang的分数)

  • zrem key member1 member2 ... 移除一个或者多个成员

zrem mysort a b (移除 a b 成员)

通用命令

不同的类型拥有不同的操作命令,当我们想要管理不同类型的key时,可以使用通用命令来操作他们。

  • keys pattern 查找所有符合给定模式(pattern)的key

keys * (返回所有的key)

  • exists key 检查给定的key是否存在

exists mylist (检查 mylist 这个key是否存在)

  • type key 返回key所存储的类型

type mylist (返回 mylist 这个key所存储的类型)

  • ttl key 返回给定key的剩余生存时间,以秒为单位

ttl mylist (返回 mylist 这个key所剩余的生存时间 ,如果没有设置生成时间,则返回-1)

  • del key 如果给定的key存在,则删除给定的key

del mylist (如果 mylist 存在,那么删除 mylist 这个key)

猜你喜欢

转载自blog.csdn.net/Huang405267467/article/details/124515552