2、Redis五大常用数据类型

1、Redis-Key    key-value 基础指令

keys *  查看当前数据库中的所有的key

Set key value 设置key-value值

Get key 通过key拿到对应的value的值

EXISTS key  判断当前的key是否存在  1代表存在  0代表不存在

move key  2  将当前数据库的key移动到数据库2中

EXPIRE key 10 设置key的过期时间 10秒后库中不在有此key

Ttl   key  查看key过期时间  -2代表key已过期

Del  key  移除key

Type  key  查看当前key的类型

2、String字符串类型

Set key value 设置key-value值

Get key 通过key拿到对应的value的值

EXISTS key  判断当前的key是否存在  1代表存在  0代表不存在

APPEND 追加字符串,如果当前key不存在,就相当于set key

STRLEN key 获取字符串key的长度

incr值自增  decr值自减  INCRBY/DECRBY 设置步长,指定增减量

GETRANGE 获取指定范围的字符串

截取指定范围的字符串( 闭区间[0,-1] )当第二个参数设置为-1时,即截取全部字符串,get key是一样效果

SETRANGE key2 1 xx 替换指定位置开始的字符串

setex key1 30 "hello"  设置key1 的值为 hello,30秒后过期

setnx key2 "world" 如果key2不存在,创建key2 如果key2存在则失败

Mset 同时获取多个值   msetnx同时为不存在的再设置值,msetnx是一个原子性的操作,要么一起成功,要么一起失败

Mset和 mget批量分别设置和获取对象的值的方式 user:{id}:{field} {value}

getset key  xxx获取旧值并设置新值xxx

使用场景:计数器  统计多单位的数量 粉丝数 对象缓存存储

3、List  列表

Flushdb 清空数据库

LPUSH左边添加值   RPUSH右边添加值  LRANGE指定下标获取元素

LPOP移除并返回最左边元素    RPOP移除并返回最右边元素

Lindex 通过下标获取值  Llen 返回列表的长度

Lrem 移除指定的值

LTRIM list 1 2 通过下标截取指定的位置(闭区间),这个list已经被改变了,截断了只剩下截取的元素

rpoplpush  移除原列表的最右边元素,并添加到新列表的最左边

Lset 将列表中指定下标的值替换为另外一个值

LINSERT list before bbb hello  将某个具体的value插入到列表中某个元素的前面或者后面

使用场景:可以使用List实现消息排队、消息队列 (Lpush Rpop)、 栈( Lpush Lpop)

4、Set 无需不重复集合

sadd 给集合添加元素     SISMEMBER myset hello判断hello是不是在myset集合中

scard 获取集合中的内容元素个数     srem 移除set集合中的指定元素

SRANDMEMBER 随机抽选出一个元素    spop 随机删除key

SMOVE myset myother redis  将myset集合中的元素,移动至myother中

差集 SDIFF  交集 SINTER  并集 SUNION

使用场景: 唯一值存储  关注/粉丝系统  计数器的去重  集合运算

5、Hash  哈希

hset设置值  hget获取值  hmset批量设置值  hmget批量获取值 hgetall 获取全部的数据

hdel 删除hash指定key字段,对应的value值也就消失  hlen 获取hash表的字段数量

HEXISTS 判断hash中指定字段是否存在  hkeys只获得所有field,hvals只获得所有value

hincrby 设置增量,若是正数则增加,若是负数则减少

hsetnx 设置值时,若key已存在则失败返回0,不存在则成功返回1

使用场景:hash最多的应用是存储变更的数据,例如将user作为键,name age作为值进行存储,尤其是是用户信息之类的,经常变动的信息。hash 更适合于对象的存储,String更加适合字符串存储。

6、Zset

zadd 添加  zrange 查看

ZRANGEBYSCORE salary -inf +inf withscores 根据salary字段升序排列,显示全部信息(包括名称、薪资)

zrem 移除 zcard  获取有序集合中元素的个数  zcount 获取集合中指定区间的元素个数

使用场景:zset 即是对set排序  可以存储班级成绩表、工资表排序等

带权重进行判断:普通消息 1 ,重要消息 2

实现排行榜应用:将播放量或评分放进有序集合中进行遍历, 或者取TopN测试

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值