Redis中value常见的五种数据类型

字符串(String)

list列表

set集合 

哈希(hash)

有序集合zset(sorted set)

1、key 常用命令

keys *      查看当前库所有的key
exists key  判断某个key是否存在
type key    查看你的key是什么类型
del key     删除指定的key数据

unlink key  根据value选择非阻塞删除
expire key 10   10秒钟:为给定的设置过期时间
ttl key         查看还有多少秒过期,-1表示永不过期,-2表示已过期
select命令切换数据库  select 0 切换到0库
dbsize查看当前数据库的key的数量
flushdb清空当前库
flushall通杀全部库

2、字符串(string)

2.1 常用命令

set <key> <value> 设置

get <key> 获取key对应的值

append <key> <value> 将给定的<value>追加到原值的末尾

strlen <key>获取值得长度

setnx <key> <value>只有在key不存在时 设置key的值

incr <key>

将key中储存的数字值增加1

只能 对数字值操作,如果为空,新增值为1

decr <key>

将key中储存的数字值减1

只能 对数字值操作,如果为空,新增值为-1

mset <key1><value1><key2><value2>......

同时设置一个或多个key-value对

mget <key1><key2><key3>......

同时获取一个或者多个value

msetnx <key1><value1><key2><value2>......

同时设置一个或者多个key-value对,当且仅当所有给定key都不存在

原子性,有一个 失败则都失败

getrange <key><其实位置><结束位置>

获取值的范围

setrange <key><起始位置><value>

用<value>覆盖<key>所储存的字符串值,从<其实位置>开始(索引从0开始)

setex <key><过期时间><value>

设置键值的同时,设置过期时间,单位秒

getset <key><value>

以旧换新,设置新值同时获取旧值

3、列表(list)

底层实际是双向链表,对两端的操作性能很高

lpush/rpush <key><value><key><value>......

从左边/右边插入一个或者多个值

lpop/rpop <key><value><key><value><key>......

从左边/右边吐出一个或者多个值。值在键在,值光键亡

rpoplpush <key1><key2>......

从<key1>列表右边吐出一个值,插到<key2>列表左边

lrange<key><start><stop>()

按照索引下标获得元素(从左到右)

lindex <key><index>

按照索引下标获得元素(从左到右)

llen <key>

获得列表长度

linsert <key> before <value><newvalue>

在<value>的后面插入<newvalue>插入值

lrem <key><n><value>

从左边删除n个value(从左到右)

lset <key><index><value>

将列表key下标为index的值替换成value

4、集合(set)

自动排重、无序集合

sadd <key><value1><value2>......

将一个或多个member元素加入到集合key中,已经存在的member元素将被忽略

smembers<key>

取出该集合的所有值

sismember<key><value>

判断集合<key>是否为含有该<value>值 有1 没有0

scard<key>

返回该集合的元素个数

srem<key><value1><value2>.....

删除集合中的某个元素

spop <key>

随机从该集合中吐出一个值

srandmember <key><n>

随机从该集合中取出n个值,不会从集合中删除

smove<source><destination><value>

把集合中一个值从一个集合移动到另一个集合

sinter <key1><key2>

返回两个集合的交集元素

sunion<key1><key2>

返回两个集合的并集元素

5、哈希(hash)

  • 是一个键值对集合

  • 是string类型的field和value的映射表,hash特别适合存储对象】

hset <key><field><value>

给<key>集合中的 <field>键赋值<value>

hget <key1><field>

从<key1>集合<field>取出value

hmset <key1><field1><value1><field2><value2>......

批量设置hash的值

hkeys <key>

列出该hash集合的所有的field

hvals <key>

列出该hash集合的所有value

hincrby <key><field><incremnet>

为哈希表 key 中的域 field的值加上增量 1

hsetnx <key><field><value>

将哈希表key中的域field的值设置为value,当且仅当域field不存在

6、有序集合zset(sorted set)

和普通集合非常相似,没有重复元素的字符串集合

不同之处:每个成员都关联一个评分(score),这个评分被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分是可以重复的。

因为元素是有序的,所以也可以很快根据评分(score)或者次序(position)来获取一个范围的元素

zadd <key><score1><value1><score2><value2>...

将一个或者多个member元素及其score值加入到有序集key当中

zrange <key><start><stop>[withscores]

返回有序key中,下标在<start><stop>之间元素

zrangebyscore key min max [withscores] [limit offset count]

从小到大排列

zrevrangebyscore key max min [withscores] [limit offset count]

从大到小排列

zincrby <key><increment><value>

为元素的score加上增量

zrem <key><value>

删除该集合下,指定值的元素

zcount <key><min><max>

统计该集合,分数区间内的元素个数

zrank <key><value>返回该值在集合中的排名,从0开始

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值