Redis

String

常用命令

mset         设置多个key

mget        获取多个valu

incr key        加1

incr key number        加number

decr key        减1

decrby key number        减number

strlen key        字符长度

setnx key value,可以用于分布式锁,当key不存在时才设置为指定值

应用场景

string的incr命令一般用于点赞数,浏览数,粉丝数等。

Hash

redis的Hash类似Java中的 Map<String,map<object,obje>>

命令

hset        示例:hest  student name zhangsan,设置学生这个hash,学生名字为zhangsan

hget        示例: hget student name

hmset        示例:hmset student name lishi  id 777

hmget        示例:hmget   student name id

hgetall        示例:hgetall      student

hlen        示例:hlen  student

hel   删除指定值

应用场景

适用于小型商城的购物车

 

 

 List

命令

Lpush        lpush  list1  777,向列表list1中添加元素777

rpush        rpush  list1  666,向列表右边添加元素666

lrange key 0 -1         查看列表中的所有数据

llen key         查看数据个数

应用场景:

公众号文章订阅

 

Set

无序,不可重复

常用命令

sadd        sadd set1 1,2,3,1. 向set1中添加123数字,只会进去一个1

srem        srem set1 2,删除数字2

smembers        smembers   set1,获取集合中的所有数字

sismember        sismember set1 2,判断2是在set1中

scard        scard获取set中有几个元素

srandmember        srandmember set1 从set1中获取一个数字,不删除,后面可以跟数字,表示选几个

spop        spop set1,从set1中删除一个数字,set的大小会变少,后面可以跟数字,表示删除几个

sdiff        差集

sinter        交集        set k1 1 2 3,set k2 2 3 4, sinter   k1 k2,可以得到 2 3

sunion        并集

应用场景

一、随机抽奖可以使用srandmember   spop        

  二、共同关注使用sinter,可能认识的人可以使用sunion       

Zset

常用命令

 

应用场景

商品排行和热搜

Redis缓存淘汰策略

定时删除:对数据设置一个过期时间,当过期时就会被删除,缺点是会占用cpu时间。

惰性删除:key过期的时候不删除,每次从数据库获取key的时候去检查是否过期,若过期,则删除,返回null。缺点:若大量的key在超出超时时间后,很久一段时间内,都没有被获取过,那么可能发生内存泄露(无用的垃圾占用了大量的内存)

定期删除:每隔一段时间执行一次删除操作,删除时是随机抽样的,所以还是会造成部分过期数据一直没有删除,是上面两种方法的折中。

八大淘汰策略

LRU是最近最少使用,LFU是最不经常使用算法。

 记忆方法

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值