Redis相关知识点

Redis有几种数据类型以及使用场景

首先redis支持五种数据类型

String
append key value 向key中添加字符串 如果不存在该key 那么就相当于set一个新值
strlen key 获取key 对中的 value 长度
incr key 相当于 +1 操作
decr key -1
incrby key 10 步数为10增长 DECRBY key 10 步数为10 减少
getrange key 0 3 相当于substring 截取字符串 0 -1 取得全部字符串
setrange key 2 sss 相当于replace 从索引2处开始替换
settex key 20 value 创建一个过期时间为20秒的 键值对 如果已存在则覆盖
setnx key value 不存在则添加,已存在则添加失败
getset key value 先获取再赋值
hash
127.0.0.1:6379> hset k4 kui 1 设置 k4 中的 map 中的 kui 为1
(integer) 1
127.0.0.1:6379> HGET k4 kui 得到值
hmset k4 name1 1 name2 2 name3 3批量设置
hmget k4 name1 name2 name3 批量获取
hgetall k4 获取全部
HDEL h4 kui 删除全部
hlen k4 获取键值对个数
HEXISTS k4 name1 判断是否存在
hkeys key 获取全部key
hvalue key 获取全部value
HINCRBY k4 name 5 增加5

hash更适合变更数据的存贮,以及对象的存储

redis内存是多大的

首先查看redis配置文件 ,如果配置文件中没有,那么默认在64位系统中不限制内存大小,在32位系统中最大内存为3g

工作中最好设置为内存的四分之三。

redis内存淘汰策略

在6.0版本中有八种淘汰策略
在这里插入图片描述默认的是noeviction 等待缓存被打爆。
如果内存满了,不会赶走数据直接报错
redis过期键删除策略
如果一个健过期了是否马上被删除呢?
否。

  1. 定时删除
  2. 惰性删除
  3. 定期删除
    定时删除:redis不可能分分钟扫描键查看他是否过期。那样太消耗cpu了,拿时间换空间
    惰性删除:对内存不友好,键过期只要不被删除,就会一直占用内存,只有当再次访问的时候才会被删除,那空间换时间
    定期删除:每隔一段时间删除过期key,并通过限制操作执行时间和频率减少对cpu的使用。 但可能导致很多key没有被删除
    以上删除策略都有缺点那么redis提供了淘汰策略
    在这里插入图片描述
    两个维度
    过期键筛选
    对所有键筛选
    四个方面
    LRU
    LFU
    Random
    ttl
    LRU
    Least recently use
    主要实现就是hash+链表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值