redis数据库的总结

redis数据库在我们日常的运用中还是经常会设计到的,无论是用来做缓存还是做去重处理,都会设计到这种数据库的相关操作,那么接下来就一起来看一下redis数据的相关操作。

select (0-15):默认情况下是会包含16个数据库,然后可以用select关键字来选择其中的任何一个数据库来操作

命令 作用
keys * 查看所有的key
type key 键的类型
exists key 键是否存在
random key 随机取出任意一个键
set key 新建一个键并给键赋值
get key

查看键对应的值

del key  删除键
rename key 重命名键
renamenx key 重命名一个不会重复的键
move key  0 移动key到一个相应的库
ttl key(Pttl) 查询生命周期(毫秒)
expire key(Pexpire) 设置键的生命周期
persist key 键的永久生命周期
keys pattern(正则) 根据情况查找对应的键
flushdb 清空一个数据库(当前)

以上是关于键的基本操作的几个命令,下面总结一下redis数据库关于各种数据类型的各种操作

1、字符串

set key value ex | px nx xx:给键赋值并设置生命周期,nx是不存在时,xx是必须存在这个键时才可以

mset:一次设置多个

mget:一个获取多个键的值

setrange key offset  value:根据偏移量将原值替换掉

append  key value:把value追加到原值上

getrange key start stop:获取字符串中【start stop】范围内的值

start>=length:返回空字符串

stop>=length:截取至字符串的结尾处

如果start的位置在stop的右边,则返回空字符串

getset key newvalue:获取并返回旧值,并赋值新的值

incrby key  5:增加5

decrby key 3:减少3

incrbyfloat key 0.5:增加0.5

setbit key offset 2:设置offset对应的二进制上的值

2、link链表结构(list)

lpush key value:把值插入到链表的头部

rpop key :返回并删除链表尾元素

lrange key start stop:取出链表中指定的数值

lpop key :返回并删除链表首元素

lrem key count value :从左边开始删除,count表示删除几个,value表示要删除的值或者元素

ltrim key  start stop:从start开始截取,到stop结束,并将截取后的结果重新赋值给key,原值发生变化

lindex key index:返回索引对应的值

llen key:该键对应的值的长度

linsert key after|before search value:在找到的值前面或者后面插入值,直会对找到的第一个值进行操作

rpoplpush  key1 key2 :将key1的右边第一个转移到key2的左边

brpop | blpop  key timeout:等待弹出key的尾|头元素,timeout是等待超时时间,如果timeout为0,则是一直等待。

3、set集合数据结构

集合的特性:无序性、唯一性、确定性

sadd key value1 value2 :往集合中添加元素

srem key value1  value2:删除元素

spop key :返回并删除集合key中一个随机元素

srandmember key:返回集合key中一个随机元素

sismember key value:判断value是不是存在于key中,是的话返回1,否则返回2

smembers key:返回集合中的所有元素

scard key :返回集合中元素的个数

smove source dest value:把source中的元素删除并添加到dest集合中

sinter key1 key2 key3 :求出三个集合的交集并返回

sinterstore dest key1 key2 key3 :将三个集合的交集赋值给dest

sunion key1 key2 key3:求三个集合的并集

sdiff key1 key2 :key1 与key2的差集(即key1中存在,key2中不存在的值)

4、order set 有序集合

ps:括号内是指可选项

有序集合:声明集合的同时还要声明元素的权重(用于排序)

zadd key score1 value1 score2 value2 .。。。。:创建一个有序集合

zrem key value1 value2 :删除集合中的元素

zremrangebyscore key min max(limit offset N):按照score的值删除元素,删除score值在min和max之间的元素

zremrangebyrank key start end:按照排名删除元素,删除名次在[start  end]之间的元素

zrank key member :查询member的排名

zrevrank key member:查询member的排名,降序排列

zrange key start stop (withscores):把集合排序后返回名词(start stop)的元素默认是升序排列,withscores是把score的值打印出来

zcard key:统计集合中的元素个数

zcount key min max:返回key里[min max]区间内的元素个数

zinterstore destination numkeys key1[key2.....] [weight][min |max|sum]:eg:zinterstore result 2 lisi wang aggregate sum

当然权重也是可以加上去的。

eg:zinterstore result 2 lisi wang weights 2 1 aggregate sum

设置权重以后,结果会是在没有权重的基础上乘以权重作为最后的结果

5、hash数据结构

hset key field value:把key中field域的值设为value,如果没有field,直接添加,如果有,则覆盖原来的值

hmset key field1 value1  field2  value2 field3 value3:一次性设置多个域的值

hget key field:返回key里域field的值

hmget key field1 field2 field3:一次获取多个域的值

hgetall key:一次性获取key里所有域的值

hlen key:返回key中元素的数量

hdel key field:删除key中field域

hexists key field :判断是不是存在某个域

hincrby key field value:是把key中field域的值增长整型值 value

hincrbyfloat key field value:是把key中field域的值增长浮点型值 value

hkeys key:返回所有的键

hvals key:返回所有的值

以上就是redis中关于各个类型的操作的命令,如果有没有总结到的,可以留言讨论。

猜你喜欢

转载自blog.csdn.net/weixin_42575020/article/details/113940169