Redis简单认识.过期政策.淘汰机制

本文介绍了Redis的内存存储、单线程架构、key-value模型、丰富的功能与持久化策略。主要讲解了基本指令、数据类型应用及过期策略,包括主动过期、被动过期和定期过期。同时提到了淘汰机制和常见数据类型如String的使用技巧。
摘要由CSDN通过智能技术生成

        Redis又称远程字典服务 原理是将数据存储到内存中,默认的端口号是6379,并且Redis默认有16个库 0-15(可以通过vim redis.conf指令找到Redis的库配置进行修改),可以通过select 数字 来选择库 并且库与库之间数据隔离 不会相互影响

特性:

1、数据操作都在内存中

2、命令执行的单线程

3、key-value结构 key最大值是512M(官网有具体说明 Redis data types tutorial | Redis)

4、功能丰富、持久化

5、IO多路复用

基本指令(也可以通过命令参考进行学习  Redis 命令参考 — Redis 命令参考

set "key" "value" (存储键值到redis中)

get "key"             (获取该key对应的value)

keys *                  (查询所有的value数据)

flush all                清空全库数据(可以根据持久化进行回退)

rename 原key名 新key名 (修改名称)

expire key名         过期时间(默认是秒)

ttl key名                获取key名对应的键值过期时间

del key名               删除该key对应的键值

mset "key" "value" "key1" "value1" "key2" "value2" (批量存储数据)

mget "key" "key1" "key2"(批量获取数据)

Redis常见的数据类型以及应用场景解析 list取值时间复杂度是o(1) 链表是o(n)  二叉树是幂次方 也就是olog(n)

八大数据类型

五大常用类型

String

可以存储的value:String、Number、Float

strlin "key"             对于String类型的value可以获取长度

append  "key" "value" 对于String类型的value可以append拼接

getrange key" "起始下标" "结束下标 " 对于String类型的value可以截取获取指定范围内的值

incr "key"                对于int类型的value可以起到自增1主键-分布式ID 自增 统计数据-浏览数-点赞数

incrby "key" 数字     对于int类型的value可以起到自增对应的数字

浮点类型和int类型相似都可以自增 把incrby改成incrbyfloat就可实现

setnx        值在时后面都无法成功(多用于分布式锁)

setxx        值在时后面的才能成功

过期策略

    主动过期 (定时过期) 定时器 一直在运行中只要过期就被删除

    对内存友好: 不会存在过期值           对CPU不友好: 一直在运行中

    被动过期 (惰性过期) 只有我去访问时才会判断key有没有过期  发现你有定时过期时 我产生异步

    对CPU友好: 不会一直运行     对内存不友好: 可能产生键值积压

    定期过期 (定期查询) 定期去查看是否有过期的键值 如果有就对其清理 如果没有就等待下一次运行  类似分布式调度

    默认一次性拿取20个 Has桶

    1、如果20个中没有过期的键值 会触发循环删除

    2、如果20个中过期的超过1/10时也会触发循环寻找过期值并删除

    3、每循环16次 我会去检查有没有超时 如果有超时就删除

淘汰机制

    volatile-lru:根据LRU算法删除设置了超时属性的键 直到腾出足够的内存为止 如果没有可删除的键 退回到noeviction策略:当内存满了之后 可以取数据 不能存数据

    LRU机制 least recently used 最久未使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GG-0408

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值