redis所涉及的基础命令

目录

redis的key的操作命令

String类型

set集合

列表类型:list(key:value1 value2...)有序可重复列表

双列集合:hash(单key:filed-value filed-value...)

有序单列集合:zset()value会根据关联的分数进行排序,不能重复


redis的key的操作命令

keys

语法:keys pattern

作用:查找所有符合模式pattern的key。pattern可以使用通配符。

通配符:keys *(匹配0到多个字符),key ?1(匹配一个字符),key [11](匹配括号中的一个字符

exists:判断key是否存在于数据库中

语法:exists key ;判断1个key是否存在,存在返回1,不存在返回0。

exists key key1 key2 ...;判断多个key是否存在,返回存在的个数。

move:移动指定的key到指定的数据库实例(Redis默认有16个库),用户默认使用第0个库

语法:move key index

ttl:查看key的剩余生存时间

语法:ttl key ;返回值:-1:没有设置生存时间;-2:该key不存在

expire:设置key的最大生存时间

语法:expire key seconds

type:查看指定key的数据类型

语法:type key

rename:重命名指定key

语法:rename key newkey

del:删除指定key和value

语法:del key:删除一个key,

del key [key key ...]:删除多个key

返回值:删除实际删除数据条数

decrby:减去指定值

语法:decrby key num

incrby:增加指定值

语法:incrby key num

Select 切换数据库

127.0.0.1:6379> select 1

OK

127.0.0.1:6379[1]>

Redis 默认有 16 个数据库。

查看当前数据库大小

清空当前库

flushdb

127.0.0.1:6379[1]> flushdb

OK

清空所有库

flushall

127.0.0.1:6379[1]> flushall

OK

String类型

添加数据:set key value;(如果key以存在,之前的value将会被覆盖)

获取指定key的值:get key;

追加字符串:append key value;返回字符串长度;(如果key不存在,则存储为新的key)

获取字符串长度:strlen key;

将value数值加一:incr key;返回计算后的值;(如果该值不是数值,将报错;如果key不存在,则自动存储新的key,并初始化为0,然后加一);

将value数值减一:decr key;用法同上;

将value数值加某一具体值:incrby key increment;

将value数值减某一具体值:decrby key increment;

闭区间截取字符串中的某一段:getrange key startIndex endIndex;(下标从0开始,最后一个字符的下标为-1或字符串长度减1)

用新的value覆盖从某一下标开始的字符串:setrange key offset value;

添加新的数据并同时设置生命周期:setex key seconds value;

当key值不存在时添加数据:setnx key value;key值不存在时添加,返回结果1;key值已存在不添加,返回结果0;

批量添加新的数据:mset key1 value1 key2 value2 key3 value3(中间使用空格隔开)

批量获取数据:mget key1 key2 key3 (中间使用空格隔开)

批量添加key不存在的数据:msetnx key1 value1 key2 value2...(所有key都不存在设置成功,只要有一个存在设置失败)

set集合

一个或多个元素添加到指定的集合中:sadd key member1 member2...

获取指定集合中的所有元素:smembers key

判断指定元素在指定集合中是否存在:sismember key member; 存在返回1,不存在返回0;

获取指定集合的长度:scard key

移除指定集合中一个或者多个元素:srem key member1 member2...(不存的元素会忽略)

随机获取指定集合中的n个元素:srandmember key [count];(count不指定,默认为1;count>0:随机获取的数不重复,count<0:随机获取的数可能重复)

从指定集合中随机移除一个或者多个元素:spop key [count](count不指定,默认为1);

从指定集合中移动指定一个元素到另一个集合中:smove source destination member;

返回差集(一个集合中有,其他集合没有):sdiff key key...

返回交集(两个集合共同存在的值):sinter key1 key2...

返回并集(两个集合所有值):sunion key1 key2...

列表类型:list(key:value1 value2...)有序可重复列表

在 Redis 里面,可以把 List 当成队列阻塞队列使用。

list 实际是一个链表,左右都可以插入值。

如果 key 不存在,创建新的链表。

如果移除了所有元素,空链表也代表不存在。

在两边插入或者改动值,效率最高;操作中间元素,效率相对低一些。

应用场景:消息排队

将一个或多个值依次插入列表的表头:lpush key value1 value2 ...(若该key已存在,将新值追加在原来的列表中)(l:left)

获取列表中指定下标区间的元素:lrange key startIndex endIndex

将一个或多个值依次插入列表的表尾:rpush key value1 value2 ...(若该key已存在,将新值追加在原来的列表中)(r:right)

删除指定列表的表头元素并返回:lpop key;

删除指定列表的表尾元素并返回:rpop key;

获取指定列表中指定下标的元素并返回:lindex key index

获取指定列表的长度:llen key

根据count的值移除列表中的指定的某一些元素:lrem key count value(count>0:从表头开始数前n个;count<0:从表尾开始数前n个;count=0:移除所有跟value相同的元素)【n=count】

双列集合:hash(单key:filed-value filed-value...)

将一个或多个键值对存储到指定集合中:hset key filed value ...

获取hash表中指定的filed值:hget key filed;

批量获取hash表中指定的filed值:hmget key filed1 filed2...;

获取指定hash表中的所有filed和value:hgetall key;

删除指定hash表中的一个或者多个filed:hdel key filed1 filed2...

获取指定hash表中所有的filed的个数:hlen key

判断指定hash表中指定的filed是否存在:hexists key filed

获取指定hash表中所有filed的列表:hkeys key;

获取指定hash表中所有value的值:hvals key;

有序单列集合:zset()value会根据关联的分数进行排序,不能重复

将一个或者多个member及score加入有序集合:zadd key score1 member1 score2 member2 ...

根据指定集合获取指定区间的元素:zrange key startindex endindex

根据指定分数区间获取元素:zrangebyscore key min max

删除指定集合中一个或多个指定元素:zrem key member1 member2...

获取集合中元素的个数:zcard key

获取指定元素的排名:zrank key member(排名从0开始) zrevrank(倒叙排名:从大到小)

获取指定集合中在指定分数区间的元素个数:zcount key min max

获取指定集合中的指定元素的分数:zscore key member

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值