Redis 缓存学习

Redis 缓存学习

string

redis-cli #连接redis
set key value #设置键值对(再次设置相同的key会把最新的值记录)
setnx key value #若存在则会失败,没有则创建
auth *** #输入密码
select * #切换数据库
get key #获取值
strlen key #获取key对应值的长度
incr key #自增一
decr key #自减一
incrby key num #自增num
decrby key num #自减num
keys * #查看当前数据库中所有的key
flushdb #清空当前数据库中的键值对
flushall #清空所有数据库的键值对
exists key #判断键是否存在
del key #删除键值对
GETRANGE key 0 3 #截取字符串
GETRANGE key 0 -1 #截取全部
SETRANGE key 1 xx  #替换(从第一个字符开始依次替换)
move key db #将键值对移动到指定数据库
expire key second #设置键值对的过期时间
type key #查看value的数据类型
setex key 30 “value” #设置过期时间,在过期时间内更改原先内容为value
#批量设置
mset k1 v1 k2 v2 #批量设置键值对
mget k1 k2 # 批量获取
mset user:1:name zhangsan user:1:age 20 #设置一个user:1 对象
mget user:1:name user:1:age
getset key value #先get然后再set,如果没有key则创建,有则修改
ttl key #查看key的过期时间
		#当前key没有设置过期时间,所以会返回-1.
		#当前key有设置过期时间,而且key已经过期,所以会返回-2.
		#当前key有设置过期时间,且key还没有过期,故会返回key的正常剩余时间.

String类似的使用场景:value除了是我们的字符串还可以是我们的数字

1.计数器
2.统计多单位的数量
3.粉丝数
4.对象缓存存储

List

LPUSH key value1 value2 value3 #将一个值或多个值,插入到列表头部(左)
RPUSH key value1 value2 value3 #将一个值或多个值,插入到列表尾部(右)
LRANGE key 0 -1 #查询所有的值
LPOP key #从左侧移除一个值
RPOP key #从右侧移除一个值
LINDEX key num #通过下标(从零开始)获取值
LLEN key #求list的长度
LTRIM key start end  #截取(从上到下截取)
LSET key index value #将列表中指定下标的值替换
LINSERT key before|after pivot value  #指定字符前/后插入值(pivot为原始的值)

list为双向链表,在两边插入或改动值,效率最高!中间元素,相对来说效率会低一点

set

sadd key value1 value2 value3 # 在set中插入值
SMEMBERS key #查看key中有哪些值
sismember key value #查看key中是否包含该value值
SCARD key #查看set中值的数量
SREM key value #移除key中某一个值
SMOVE key otherkey member  移除指定元素(member)至另一个key中
SDIFF key1 key2 #差集(前者与后者相比,即key1与key2相比)
SINTER key1 key2 #交集
SUNION key1 key2 #并集

使用场景:共同关注,共同好友,二度好友(六度分割原则)

Hash

HSET key1 filed1 value1 filed2 value2 filed3 value3 #hash存值,可以存多个值
HGET key filed #hash取值
HGETALL key #取全部的值
HKEYS key #获取所有的filed
HVALS key #获取所有的value
HLEN key #获取长度
HEXISTS key value #获取某个值是否存在
HDEL key [filed...] #删除某一个或某几个

使用场景:尤其经常变更的数据 比如user中的name和age属性(用户信息之类的)

Zset(有序集合)

zadd key1 100 xiaoming 200 xiaohua 500 zhaowen #添加多条值
ZRANGEBYSCORE myset -inf +inf  #显示全部的用户,从小到大
ZRANGEBYSCORE myset -inf +inf withscores #显示全部的用户,从小到大并附带值
ZREVRANGE myset 0 -1  #显示全部的用户,从大到小
ZREVRANGE myset 0 -1 withscores  #显示全部的用户,从大到小并附带值
ZRANGEBYSCORE myset -inf 200 withscores #显示小于等于200全部的用户,从小到大并附带值

使用场景:set的排序,储存班级成绩表或者员工工资表进行排序;
普通消息,重要消息带权重进行排序;
排行旁的应用实现

Redis能干什么

内存存储、持久化,内存是断电即失的,所以需要持久化(RDB、AOF)
高效率、用于高速缓冲
发布订阅系统
地图信息分析
计时器、计数器(eg:浏览量)

全部学习内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值