
Redis
文章平均质量分 75
不生气的打工人
这个作者很懒,什么都没留下…
展开
-
Redis进阶-Redis6.x
redis6.x差缺补漏 源码级别底层实现原理 rehash、ziplist、数据同步、事务..原创 2023-02-27 23:16:46 · 292 阅读 · 0 评论 -
Redis知识整理(九) -- 缓存&数据库
Redis知识整理(九) – 缓存&数据库 一、缓存与数据库的区别 缓存特点 不是全量数据 数据不重要 热数据 随访问变化(内存大小瓶颈) key的有效期 业务逻辑推动定义有效时间 设置的过期时间跟访问没有关系 修改key的value 过期时间根据新的设置时间走,没有设置时间则为-1 永不过期 可以设置定时 ExpaireAt key timestamp 业务运转推动随着访问变化,淘汰掉冷数据 Memery Managment(redis配置文件 内存控制) max原创 2021-09-10 17:16:28 · 477 阅读 · 0 评论 -
Redis知识整理(八) -- 事务&布隆过滤器
Redis知识整理(八) – 事务&布隆过滤器 事务 特点 Redis事务没有回滚 选用redis的本质就是因为速度快,所以作者设计的事务的时候依然是考虑到执行的速度问题 使用 主要命令: DISCARD:取消事务 EXEC:执行事务 MULTI:开启事务 WATCH:查看事务,类似于乐观锁,CAS(compare and set) 细节点: 两个事务,事务A和事务B,事务A先开启,然后事务B开启,事务A get k1,事务B del k1,事务B先提交,则k1被删除,事务A提交的时候获取不到结果原创 2021-08-11 22:39:02 · 139 阅读 · 0 评论 -
Redis知识整理(七) -- 进阶(管道&发布订阅)
Redis知识整理(六) – 进阶(管道&发布订阅) 一、Redis的管道(Pipelining) 解释 一次发送多次命令 命令行操作 #安装nc yum install nc #运行nc 建立socket连接 --- nc localhost 6379 keys * 0 set k1 hello +OK #去redis查看结果 6379> keys * k1 6370> get k1 "hello" #测试echo识别\n --- echo -e "sdsd\nbdsds" sd原创 2021-08-10 22:30:26 · 134 阅读 · 0 评论 -
Redis知识整理(六) -- Sorted Set/ZSet类型
Redis知识整理(六) – Sorted Set/ZSet类型 一、类型特征 去重且排序 set保证去重 排序指的是值的排序 物理内存为左小右大 二、数据类型 key - value value的类型为zset 则代表value的元素需要一个score(分数),作为排序的基准 同时索引依然正常存在 – 正负索引 0/-3 1/-2 2/-1 score都为1的情况下 按照名称排序 三、常用命令 > zadd 8 apple 2 banana 3 orange (integer) 3 # 查看结原创 2021-08-04 22:45:46 · 334 阅读 · 0 评论 -
Redis知识整理(五) -- Hash&Set类型
Redis知识整理(五) – Hash&Set类型 Hash类型 一、数据格式 Hash类型指的是value的类型 所以Hash类型指的是 value的类型是 key - value 类似于HashMap中嵌套了一层HashMap 二、常用命令 # 为key对应的value的某个属性赋值 > hset lisi name lisi (integer) 1 # 为key对应的value中的多个属性一起赋值 > hmset lisi age 11 address beijing OK #原创 2021-08-03 22:35:55 · 1355 阅读 · 0 评论 -
Redis知识整理(四) -- List类型
Redis知识整理(四) – List类型 一、数据结构 value 为list类型,链表 key中存储两个指针 head tail head指针指向头节点 tail指针指向尾节点 key中存储这两个指针可以帮助更快的找到头尾元素 二、常用命令 lpush&Rpush 向元素中赋值 lpush将多个元素挨个放到链表的左边 rpush将多个元素挨个放到链表的右边 > lpush k1 a b c d e f > rpush k2 a b c d e f 以上 k1的value为原创 2021-08-02 22:33:47 · 281 阅读 · 0 评论 -
Redis知识整理(三) -- String类型
Redis知识整理(三) String类型 – 字符型 set的NX与XX NX If Not Exist 如果不存在这个key则设置这个key的值为value 一般用于分布式锁,多个client获取一个连接 用于创建 XX if Exist 只有存在这个key才可以操作 用于更新 下图中 k1对应的value为hello k2不存在 mset与mget 批量处理 一次set多个kv,一次获取多个k值 > mset k3 a k4 b > mget k3 k4 APPEN原创 2021-07-29 22:00:21 · 139 阅读 · 0 评论 -
Redis知识整理(二) -- IO模型
Redis知识整理(二) Epoll介绍 IO模型发展 BIO 同步阻塞 多个线程读取各自文件描述符是互相阻塞的(Blocking) NIO 同步非阻塞 内核进化 内核的socket可以是非阻塞的 fd nonblock 这种情况下 不用多个线程,使用一个线程读取多个fd 轮询:发生在用户空间 同步非阻塞 多路复用 select模型 同步非阻塞,多路复用 批量调用内核,在内核中做轮询 直到一个或多个fd准备完毕,返回给上游 epoll模型 系统调用:mmap 共原创 2021-07-27 23:11:19 · 352 阅读 · 0 评论