Redis常用命令

四、Redis命令

1. key的操作

在redis里面,除了”\n”和空格 不能作为名字的组成部分,其他字符都可以作为key的名字的组成部分。名称的长度不限制。

常见命令列表:

命令解释
exists key测试指定key是否存在
del key1 key2 … keyN删除给定的key
type key返回给定key的value类型
keys pattern返回匹配指定模式的所有key
rename oldkey newkey改名字
dbsize返回当前数据库的key数量
expire key seconds为key指定过期时间
ttl key返回key的剩余过去秒数
select db-index选择指定索引的数据库,默认redis支持16个数据库,0-15
move key db-index将key从当前数据库移动到指定数据库
flushdb删除当前数据库中所有key
flushall删除所有数据库中的所有key

在这里插入图片描述
在这里插入图片描述

2. String数据类型

  1. String数据类型是redis最基本的数据类型
  2. Redis的string可以包含任意数据,包括图片或者序列化后的对象
  3. 单个value值最大上限是1GB

常见命令操作列表:

命令解释
set key value设置key对应的值为string类型的 value
mset key1 k在这里插入图片描述
value1 … keyN valueN一次设置多个key/value值
mget key1 key2 … keyN一次获取多个key
incr key对key的值做加加操作,并返回新值;类似i++
decr key对key的值做减减操作,并返回新值
incrby key integer同incr, 加上指定值
decrby key integer同decr,减去指定值
append key value给指定key的字符串值追加value
substr key start end返回截取过的key的字符串值

3. List数据类型

List数据类型 实际上就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加,删除元素。这使得list既可以作为栈来使用,也可以作为队列来使用。

List操作命令列表:

命令解释
lpush key string在key对应list的头部添加字符串元素
rpop key从list的尾部删除元素,并返回删除元素
llen key 返回 key对应list的长度,key 不存在返回0,如果可以对应类型不是list 返回错误
lrange key start end返回指定区域内的元素,下标从0开始默认list是栈的结构,先进后出;例如: lrang list1 3 6
rpush key string在key对应list的尾部添加字符串元素
lpop key从list的头部删除元素,并返回删除元素
ltrim key start end截取list,保留知道指定区域内元素。

4. Set数据类型

  1. redis的set数据类型是String类型的无序集合。
  2. set最大存储2的32次方-1 个元素。
  3. set集合中不能有重复的数据,跟list数据类型不同。
  4. 集合的常见操作有,增加,删除,还有比较重要的操作:交集(intersection),并集(union),差集(difference)。

Set 数据类型的应用场景:
朋友圈的可见权限,或者社交应用(sns)中的朋友推荐

在这里插入图片描述

Tom的朋友圈:jerry,susan,anna,peter,john

Mike 的朋友圈:willian,evan,george,peppa,peter,john

Set数据类型的常见操作:

命令解释
sadd key member添加一个string元素到key对应的set集合中,成功返回1,如果元素已经在集合中,返回0,如果key对应的set不存在,返回错误
srem key member [member]从key对应set中移除给定元素,成功返回1
smove p1 p2 member从p1对应set中移除member并添加到p2对应set中
scard key返回set的元素个数
sismember key member判断member是否在set中
sinter key1 key2 … keyN返回所有给定key的交集
sunion key1 key2 … keyN返回所有给定key的并集
sdiff key1 key2 … keyN返回所有给定key的差集
smembers key返回key对应set的所有元素,结果是无序的

5. Sorted Set 排序集合类型

和set数据类型一样,Sorted Set也是string数据类型的集合,不同的是每一个元素都会关联一个权。通过权值可以有序的获取集合中的元素。

在这里插入图片描述

Sorted Set 常用命令列表:

命令解释
zadd key score memeber添加元素到集合,元素在集合中存在则更新对应score
zrem key member删除指定元素,成功返回1,如果元素不存在就返回0
zincrby key incr member按照incr幅度增加对应member的score值,返回新score值
zrank key memeber返回指定元素在集合中的排名(下标,从0开始计数),集合中元素是按score从小到大排序。
zrevrank key member同上,但是集合中元素是按score从大到小排序
zrange key start end类似lrange操作从集合中去指定区间的元素。返回的是有序结果
zrevrange key start end同上,返回结果是按score逆序排列
zcard key返回结合中元素的个数
zscore key element返回指定元素对应的score
zremrangebyrank key min max删除集合中排名在指定区间的元素(权值从小到达排序)

在这里插入图片描述
在这里插入图片描述

关于元素是否可以重复:

  • List:可以
  • Set:不可以
  • Sorted Set:不可以

6. Hash 数据类型

Hash数据类型存储的数据与mysql数据库中存储的一条记录“非常相似”

在这里插入图片描述

通过一个模拟mysql的表结构来演示一下 hash类型数据操作。

mysql的用户表:

idusernamepassword
1jerry123
2susan456

Hash类型常用命令列表:

命令解释
hset key field value设置hash field 为指定值,如果key不存在,则先创建
hget key field获取指定的hash field
hmget key field1 … fieldN获取全部指定的hash field
hmset key field1 value1 … fieldN同时设置hash的多个field
hincrby key field integer将指定的hash filed 加上给定的值
hexists key field测试指定的field是否存在
hdel key field删除指定的hash filed
hlen key返回指定hash的field数量
hkeys key返回hash的所有field
hvals key返回hash的所有value
hgetall key返回hash的所有field和value
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JTZ001

你的鼓励是我创作的最大动力?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值