随笔分类 - Redis
摘要:// *号 必须要加,否则无法模糊查询 String prefix = "ofc-pincode-"+ pincode + "-*"; // 获取所有的key Set keys = redisTemplate.keys(prefix); // 批量获取数据 List myObjectListRedis =...
阅读全文
摘要:一、缓存的收益与成本 1.收益 2.成本 二、使用场景 三、缓存的更新策略 四、缓存颗粒度控制 五、缓存穿透 六、无底洞问题 七、热点key的重建优化
阅读全文
摘要:一、呼唤集群 二、数据分布概论 三、哈希分布 1.节点取余 2.一致性哈希 添加一个node5节点时,只影响n1和n2之间的数据 3.虚拟槽分区 四、基本架构 五、redis cluster 架构 六、Redis Cluster安装配置 1.原生命令安装 2.官方工具安装
阅读全文
摘要:一、Redis Sentinel架构 二、redis sentinel安装与配置 四、客户端连接Sentinel 四、实现原理—— 故障转移演练(客户端高可用) 五、实现原理—— 故障转移演练(服务端日志分析:数据节点和sentinel节点) 六、三个定时器 七、主观下线和客观下线 八、领导者选举
阅读全文
摘要:一、单机有什么问题 1.机器故障 2.容量瓶颈 3.QPS瓶颈 二、主从复制 1.数据副本(高可用、分布式基础) 2.拓展读性能(读写分离) 简单总结: 三、主从复制配置 四、主从复制配置-实验演示 五、runid和复制偏移量 主Redis每次向从Redis传播N个字节的数据时,都会在自己的复制偏移
阅读全文
摘要:1.fork操作 2.子进程开销和优化 3.AOF阻塞
阅读全文
摘要:一、持久化概念 二、持久化方式 三、redis持久化方式之——RDB 1.什么是RDB 在 Redis 运行时, RDB 程序将当前内存中的数据库快照保存到磁盘文件中, 在 Redis 重启动时, RDB 程序可以通过载入 RDB 文件来还原数据库的状态。 2.触发机制方式 主要三种方式:save;
阅读全文
摘要:一、简介 二、应用场景 三、API 1.geoadd 2.geopos 3.geodist 4.georadius 四、相关说明
阅读全文
摘要:一、简介 二、API Demo 三、使用经验
阅读全文
摘要:一、初步认识 二、API 1.setbit 2.getbit 3.bitcount 4.bitop 5.bitpos 三、位图使用 四、 使用经验
阅读全文
摘要:一、模型 二、主要API 1.publish(发布命令) 2.subcribe(订阅) 3.取消订阅(unsubcribe) 4.其他API 三、消息队列功能 redis实现消息队列功能 应用场景:抢红包
阅读全文
摘要:一、回忆通信模型 二、流水线 1.什么是流水线 2.pipeline-Jedis实现 3.与原生M(mget,mset等)操作对比 M操作是原子操作 pipeline命令是非原子的,Redis服务器会对其命令集进行拆分。 三、使用建议
阅读全文
摘要:一.慢查询日志 慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。Redis客户端一条名利分为如下四部分执行: 说明:①慢查询日志只是统计步骤3)执
阅读全文
摘要:1.pom文件 2.Redis.xml文件 3.Redis配置文件 redis.properties 4.创建拦截器 5.Redis工具类
阅读全文
摘要:一、数据结构 集合与有序集合,列表与有序集合的对比 二、主要API zadd 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。 zrem 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。 zscore 返回有序集 key 中,成员 member 的 sc
阅读全文
摘要:一、结构 特点:无序,无重复,支持集合间操作 二、主要API smembers : 无序;(会阻塞)小心使用,可用sscan代替 spop: 从集合中弹出元素,每次只能弹出一个; 三、实战 抽奖系统 -spop -srandmember 喜欢、赞、踩 Redis实现开发者头条页面点赞功能 给用户添加
阅读全文
摘要:一、结构 key - value 结构,value是一个有序队列。 可进行左边的添加及弹出,右边的添加及弹出。 可获取列表的长度,删除列表中指定元素,获取列表的子列表,按照索引获取列表的指定元素。 特点:列表有序、可重复、左右两边插入弹出。 二、主要API RPUSH :将一个或多个值 value
阅读全文
摘要:一、结构 Mapmap结构; filed 不能相同,value可以相同。 二、重要指令 ♦️ HSET ♦️ HGET ♦️ HDEL ♦️ Hlen ♦️ HEXISTS ♦️HGETALL ♦️HVALS ♦️HKEYS 使用hgetall注意:数据多的时候,获取很慢! 其他命令: ♦️ hse
阅读全文
摘要:一、结构和命令 1.字符串键值结构 key是字符串,value可以是字符串、数字、二进制、json等; redis的key和string类型value限制均为512MB。 2.使用场景 ♦️ 缓存 ♦️ 计数器 ♦️ 分布式锁 3.命令 ♦️ get ♦️ set ♦️ del ♦️ incr ♦️
阅读全文
摘要:一、单线程为何这么快 1)绝大部分请求是纯粹的内存操作(非常快速) 2)采用单线程,避免了不必要的上下文切换和竞争条件 3)非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪
阅读全文