基础命令

一,String
1.set key value 存在则覆盖
2.setnx key value key已存在的话返回0
3.setex key seconds value 并设置以秒为过期时间,psetex则是以毫秒为单位
4.mset key1 value1 key2 value2 同时设置多个键值对msetnx当所有键都不存在时才返回
5.get key get出value
6.mget key1 key2..
INCR数值操作相关命令
1.incr key key不存在初始化为0,存在则加一
2.decr key key不存在同样初始化0,存在则减一
3.incrby key 5 不存在同样初始化,存在则加5
4.decrby key 5 同理减5
以上操作都是只能对整数,以下是对小数的
5.incrbyfloat key 同样不存在初始化为0

   对key或value进行修改,
    1.append ab cd 若key:ab存在,则修值在后面加上cd
    2。strlen key 返回key的长度
    3.getrange key start end 表示返回value从start到end索引,负数则从末尾开始计数
    4.setrange key offset value 从第offset+1个开始覆盖为value

二,List
当数据较少时底层采用压缩列表,基于双向链表(数据较多时)
1.lpush key [value1,value2...] 向表头(左)添加value,若链表不存在则会先创建一个空表
2.rpush key [value1,value2...]
3.lpushx key value 仅当列表存在时,将一个值插到头部
4.rpushx key value 同理查到尾部
5.lpop key 删除头元素,并返回,若列表为空则返回 nil
6.rpop key 同理
7.lrange key 0 -1 返回指定范围元素 -1 表示最后一个
8.lindex key index 返回第index个元素(从0开始)
9.llen key 返回列表长度
10.ltrim key 1 2 只保留指定范围元素,其他的删除
11.blpop list1 list2 timeout 阻塞式弹出,一个或多个链表中的元素。若都为空了则会阻塞n秒
12.brpop 同理从尾部弹出
13.rpoplpush list1 list2 将链表1尾部元素删了,插到链表2的头部
14.brpoplpush list1 list2 timeout 阻塞式将链表1尾部元素弹出,查到链表二头部

三,Hash
功能:为一张哈希表中一个或多个字段赋值。
1,hset key field1 value2 field2 value2... 若表key不存在,创建,字段也是
例 hset user:1 name "jack" age 22 等于给表user:1添加或覆盖字段name为jack,age为22
2, hsetnx key field value 仅当字段field不存在时,插入才成功返回1,失败返回0
3. hget key field 获取出字段值例:hget user:1 name 得到jack
4,hmget key field1 field2... 获取出表key的多个字段的值,字段不存在返回nil
5,hkeys key 返回所有字段
5,hvals 返回所有字段的值
5, hgetall key 取出所有字段和值
6,hdel key field1 field2...删除哈希表中一个或多个字段,返回删除的数量
7, hexists key field 检查哈希表中字段是否存在,存在返回1 否则0
8,hlen key 返回哈希表中字段数量,若表不存在返回0
9,hincrby user:1 age 5 指定字段的值增加5,不存在初始化0
10,hincrbyfloat key fiel d increment 同上只不过可以加减小数

四,Set
1, sadd key value1 value2 向一个集合添加一个或多个元素,若存在则忽略,集合key不存在则创建,返回成功添加个数
2, srem key value1 value2 同上移除,返回成功移除的个数
3, smembers key 返回集合中所有元素
4, sismember key value 检查元素是否存在集合中,存在返回1,否则0、
5,scard key 返回集合中元素个数
6, sinter key1 key2... 这里key为各个集合的key,返回多个集合的 交集,同时存在所有集合中的元素
7, sunion key1 key2.. 类上,但返回的是 并集
8,sdiff key1 key2... 类上,差集,存在与集合1中但不存在与后续集合中的
9, srandmember key [conut] 可选count,随机返回元素,不选返回一个,指定为正数,返回不重复的,负数可重复的
10, spop key [count] 返回移除随机元素,不写count就移除返回1个
11, smove key1 key2 value 将集合key1的value移到key2,若value不存在则无操作,集合2不存在则创建

五,Zset
对于Set,Set的整数集合底层有序,哈希表底层逻辑无序
对于Zset,无论是跳表(有序)加 哈希表还是压缩表(数据较少时)作为底层数据结构
都是有序方式来存储管理元素,其中跳表和压缩列表直接体现元素有序性,
哈希表辅助实现高效查找和更新操作。

1,zadd key [NX|xx] [ch] [incr] score1 member1... 像向一个有序集合添加一个或多个成员,若成员已存在则更新分数,集合不存在则创建,NX:仅当成
员不存在创建。XX:仅当成员存在时更新。CH:返回被修改的成员数量,包括新添加和分数更新的成员。INCR:对指定成员的分数加一
2,zscore key member 获取成员的分数,(Zset就是按score来排序的)
3,zrank key member 返回集合成员的排名(从小到大),排序从0开始,成员不存在返回nil
4, zrevrank key member 同上,但从大到小
5,zrange key strat end [withscores] 返回指定排名范围(从小到大)的成员,可选同时返回分数
6,zrevrange key start end [withscores] 同上,但从大到小
7,zrangebyscore key min max [withscores] [limit offset conut] 返回按分数从小到大,可选同时返回成员分数
8,zrevrangbyscore key max min [withscores] [limit offset count] 同上,但从大到小排序
9,zrem key member1,member2... 移除一个或多个成员,返回成功移除个数
10,zincrby key 5 member 给成员增加5,成员不存在初始化0在加5
11,zcard key 返回集合成员数,集合不存在返回0
12,zcount key min max 返回有序集合指定分数范围的成员数量
13,zremrangebyrangk key start end 移除指定排名(按分数大小排)返回移除个数
14,zremrangebyscore key min max 移除指定分数范围的成员

end

posted @ 2026-04-13 16:06  Mikasalex  阅读(0)  评论(0)    收藏  举报