redis使用及应用场景

1. String存储

set key value 赋值
get key 取值
del key 删除
incr key 递增
decr key 递减
incrby key number(64位以内) 按数值递增
decr key number 按数值递减

2. hash存储

hset key field value 为指定的key设定field/value(键值对)

例如:hset person username "zhangsan"

hset key field value[field value2] 设置多个键值对

例如:hset person username "zhangsan" password "123"

hget key field 取值
Hmget key field 取多个值
hgetall key 去所有的值
hdel key field[field…] 删除一个或者多个字段
del key 删除整个key
hexist key field 判断指定的key有没有field
hlen key 获取key中field中的数量(只是数量,获取不到值)
hkeys key 获取所有的key
hvals key 获取所有的value

list存储

lpush key value[value1,value2…] 从头部插入value

rpush key value[value1,value2…] 从尾部插入value

lpushx key value 仅在参数中指定的key存在 从头部插入

rpushx key value 仅在参数中指定的key存在 从尾部插入

lrange key start end 获取链表中指定的值从start到end

例如 lrange key 0 -1 获取所有的值

lpop key 弹出头部第一个元素

rpop key 弹出尾部第一个元素

llen key 列表中链表的数量

lset key index value 设置链表的index的脚标的元素值0代表链表的头元素

lrem key count value 删除count个值为value的元素

linsert key before|after pivot value 在pivot元素前或后加入元素

rpoplpush resource destination 将链表中的尾部元素弹出并增加到头部

set类型存储

sadd key value1,value2 … 增加元素

smembers key 获取set中所有的成员

scard key 获取set中成员的数量

sismember key menber 判断参数中指定的成员是否存在,存在1,不存在0

redis应用场景

string 以map形式存储 单个数据

场景:

作为数值时的递增:分表操作

数据时效性设置:某某综艺”,启动海选投票,只能通过微信投票,每个微信号每4个小时只能投1票。

电商商家开启热门商品推荐,热门商品不能一直处于热门期,每种商品热门期维持3天,3天后自动取消热门

高热度数据访问加速:

例如微博大V主页显示粉丝数与微博数量

在Redis中为大V用户设定用户信息,以用户主键和属性值作为key,后台设定时间定时刷新即可。

hash 以一系列存储的数据进行编组,方便管理 底层是哈希表结构实现数据存储

场景:

购物车

hash实现抢购,现时发放优惠卷,激活码

list 存储多个数据,并对数据进入存储空间的顺序进行区分
底层使用双向链表存储结构实现

场景:

 朋友圈点赞,要求按照点赞顺序显示点赞好友的信息

 如果取消,移除好友信息

 最新消息的展示

set 与hash存储结构完全相同,仅存储键,不存储值(nil),并且值式不允许重复的。也就是只有键没有值的hash

场景:

  共同好友
  
  随机操作数据

  同类型不重复数据的合并

  访问量统计去重

  黑白名单

zset 跟set一样 可以排序

场景:

 会员短时间体验之过期失效
 
 建立排序依据(游戏好友亲密度,各类资源网站top10,聊天室活跃度统计)

 计数器

 微信会话
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值