redis
循环ing
铭记初衷,倾己所有~~~
展开
-
redis学习笔记之5大数据类型的基本实现
1.内部编码:每种数据类型都有不同的编码,在满足一定条件下会进行编码转换2.各种编码对应的数据结构简单介绍:A.简单动态字符串(sds,simple dynamic string):因传统C的字符串不能高效支持长度计算与append操作,故redis采用sds替换C默认的字符串表示传统C字符串计算长度:strlen(s)复杂度为O(n)传统C字符串n次append:进行n次内存分配(realloc...原创 2018-04-04 21:13:39 · 180 阅读 · 0 评论 -
redis学习笔记之5大数据类型的应用场景
1.string:a.缓存热点数据,如图:b.多维度计数、防作弊:incr命令c.共享session:session_id是唯一的,以此为key存放session,redis集中管理,但要防止redis崩溃d.限速:如短信验证码限速,setex命令2.hash:a.缓存实体类信息,如图:与直接用string去存相比,可以更加细粒度地操作实体类的属性;如需修改实体类某一属性,使用string存需要整...原创 2018-04-04 21:14:59 · 479 阅读 · 0 评论 -
redis学习笔记之常用技巧
1.慢查询分析:客户端命令的生命周期:慢查询只统计第3步的耗时,无慢查询不代表客户端不存在超时问题,如网络带宽问题与慢查询相关的配置:a.slowlog-log-slower-than:预设阀值,单位为微秒,默认10000,执行时间超过该值的命令会被记录到慢查询日志(PS:设为0会记录所有命令,<0则不记录任何命令)b.slowlog-max-len:设置慢查询日志最多存储多少条,超过该值则...原创 2018-04-04 21:17:00 · 256 阅读 · 0 评论 -
redis学习笔记之持久化篇
1.RDB:将当前进程数据生成快照保存到硬盘的过程A.触发RDB的2种方式:a.手动触发:save命令:阻塞当前redis服务器,直到RDB过程完成为止,不建议线上使用bgsave命令:redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,阻塞只发生在fork阶段b.自动触发:使用save相关配置(redis.conf文件),如save m n,则再m秒内数据集存在n次修改时,自...原创 2018-04-04 21:18:05 · 290 阅读 · 3 评论 -
redis学习笔记之主从复制篇
1.主从配置:3种配置主从的方式:a.配置文件slaveof {masterHost} {masterPort}b. redis-server --slaveof {masterHost} {masterPort}c. slaveof {masterHost} {masterPort} 命令断开主从复制关系:从节点执行slaveof no one切主操作流程:断开与旧主节点的复制关系→与新主节点建...原创 2018-04-04 21:19:01 · 276 阅读 · 0 评论 -
redis学习笔记之阻塞篇
1.内因:A.api或数据结构使用不合理: 如:对一个包含上万元素的hash结构执行hgetall操作,数据量大且命令复杂度O(n),必然阻塞B.慢查询:前面有介绍C.大对象:执行./redis-cli -h {ip} -p {port} --bigkeys命令可找出当前最大对象出来,接着便可对大对象进行调整或缩减或分成多个小对象生产环境可执行debug object key查看key对应valu...原创 2018-04-04 21:20:11 · 8205 阅读 · 0 评论 -
redis学习笔记之内存篇
1.内存消耗:内存统计:info memory命令重点关注:used_memory_rss(redis进程占用内存总量)、used_memory(redis内部存储数据占用内存总量)与mem_framentation_ratio(前面2个的比值,指碎片率)mem_framentation_ratio>1时,说明userd_memory_rss - used_memory多出的部份内存没用于存...原创 2018-04-04 21:22:43 · 354 阅读 · 0 评论 -
redis学习笔记之哨兵篇
占坑,以后填上原创 2018-04-04 21:36:16 · 207 阅读 · 0 评论 -
redis学习笔记之集群篇
占坑,未来填上原创 2018-04-04 21:40:23 · 196 阅读 · 0 评论