随笔分类 -  Redis

摘要:一、单机 1、安装redis模块 sudo pip3 install redis 或 sudo easy_install redis 源码地址:https://github.com/WoLpH/redis-py 、https://github.com/redis/redis-py 2、单机连接 re 阅读全文
posted @ 2021-12-09 09:53 杨岂 阅读(70) 评论(0) 推荐(0) 编辑
摘要:一、redigo Go官方推荐使用的Redis客户端 https://github.com/gomodule/redigo 文档:https://pkg.go.dev/github.com/gomodule/redigo#readme-documentation 1、安装 go get github 阅读全文
posted @ 2021-12-08 23:47 杨岂 阅读(615) 评论(0) 推荐(0) 编辑
摘要:一、键值对使用规范 1):key的命令要具有可读性、可维护性。便于定位问题和寻找数据 2):value要避免出现bigkey,选择高效的序列化和压缩、使用对象共享池,选择高效恰当的数据类型 1、Key命名规范 ① :【可读性和可管理性】规范的key命名,在遇到问题时能够方便定位。 Redis属于没有 阅读全文
posted @ 2021-10-29 16:31 杨岂 阅读(259) 评论(0) 推荐(0) 编辑
摘要:连接工厂创建连接,并放在连接池中? 一、Spring RedisTemplate的原理 1、不同类型数据结构定义了不同的操作器 private final ValueOperations<K, V> valueOps = new DefaultValueOperations<>(this); pri 阅读全文
posted @ 2021-09-07 10:22 杨岂 阅读(97) 评论(0) 推荐(0) 编辑
摘要:单线程的Redis为何还能这么快? 1、所有的数据都在内存中,所有的运算都是内存级别的运算 (内存内的操作不会因为磁盘IO速度限制,因此不会成为性能瓶颈) 2、简单高效的数据结构,对数据操作也简单,Redis中的数据结构是专门进行设计的 3、单线程操作,避免了频繁的上下文切换带来的资源消耗问题,也无 阅读全文
posted @ 2021-03-21 14:20 杨岂 阅读(223) 评论(0) 推荐(0) 编辑
摘要:通过开启key过期的事件通知,当key过期时,会发布过期事件;我们定义key过期事件的监听器,当key过期时,就能收到回调通知。 注意: 1)由于Redis key过期删除是定时+惰性,当key过多时,删除会有延迟,回调通知同样会有延迟。因此性能较低 2)且通知是一次性的,没有ack机制,若收到通知 阅读全文
posted @ 2021-02-13 03:56 杨岂 阅读(10465) 评论(0) 推荐(0) 编辑
摘要:官方文档:https://redis.io/topics/pipelining Springboot整合文档:https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#pipeline Redis是一种基于客 阅读全文
posted @ 2021-02-01 15:09 杨岂 阅读(140) 评论(0) 推荐(0) 编辑
摘要:发布/订阅 Pub/Sub 发布订阅 的特点是订阅者(listener)负责订阅频道(channel),发送者(publisher)负责向频道发送二进制字符串消息(binary string message)。每当有消息被发送至给定频道时,频道的所有订阅者都会收到消息。(订阅者可以订阅多个频道,发送 阅读全文
posted @ 2021-02-01 11:47 杨岂 阅读(954) 评论(0) 推荐(0) 编辑
摘要:官方介绍:https://redis.io/topics/streams-intro Springboot整合文档:https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#redis.streams 一、S 阅读全文
posted @ 2021-02-01 01:05 杨岂 阅读(3825) 评论(0) 推荐(0) 编辑
摘要:分布式应用在逻辑 处理中经常会遇到并发问题。如一个操作要修改用户的状态,需要先读出用户的状态,再在内存中进行修改,改完了再还回去。但是如果有多个这样的操作同时进行,就会出现并发问题,,因为读取和修改这两个操作不是原子操作(原子操作是指不会被线程调度机制打断的操作,原子操作一旦开始,就会一直运行结束, 阅读全文
posted @ 2020-12-16 20:12 杨岂 阅读(587) 评论(0) 推荐(0) 编辑
摘要:朝生暮死-过期策略 设置了有效期的key到期了怎么删除呢? Redis会将每个设置了过期时间的key放入一个独立的字典中,以后会定时遍历这个字典来删除到期的key。 除了定时遍历之外还会使用惰性策略来删除过期的key。所谓惰性删除就是在客户端访问这个key的时候,Redis对key的过期时间进行检查 阅读全文
posted @ 2020-10-12 14:40 杨岂 阅读(395) 评论(0) 推荐(0) 编辑
摘要:缓存穿透 指查询一个数据库中一定不存在的数据,那么缓存和数据库中都不存在。这种查询不存在数据的现象称为缓存穿透。 如根据商品编号查询详情;首先去查询缓存,缓存中自然没有然后去查询数据库,如果对这个key的请求量巨大,会直接穿透缓存直接查询数据库给数据库造成很大的压力,大量穿透请求严重情况下会造成数据 阅读全文
posted @ 2020-10-12 14:34 杨岂 阅读(288) 评论(0) 推荐(0) 编辑
摘要:官方文档地址:https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#why-spring-redis Spring Redis 需要Redis 2.6或更高版本,Spring Data Redis与两个流 阅读全文
posted @ 2019-10-29 16:30 杨岂 阅读(9491) 评论(0) 推荐(1) 编辑
摘要:缓存由于其高并发和高性能的特征,已经在项目中被广泛应用。 使用缓存的同时,也带来了缓存和数据库一致性问题。对于缓存数据库一致性问题,有很多解决方案,没有最完美的方案,只有适合自身业务的尽可能完美的方案。 缓存读取和更新过程: 查询时一般先查询缓存,如果缓存命中的话,那么直接将数据返回。 如果缓存中没 阅读全文
posted @ 2019-06-26 22:59 杨岂 阅读(4032) 评论(2) 推荐(0) 编辑
摘要:持久化 Redis的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证Redis中的数据不会因为故障而丢失,这种机制就是Redis的持久化机制。 Redis的持久化机制有两种: 一、快照RDB 1、一次全量备份,使用 BGSAVE命令 2、一个紧凑压缩的二进制文件(保存方式是 阅读全文
posted @ 2019-05-08 18:00 杨岂 阅读(422) 评论(0) 推荐(0) 编辑
摘要:Redis使用场景 1、高并发热点数据缓存 对于高并发,读多写少的场景。通常将热点数据加载到Redis中缓存起来,减少数据库的压力,并提高响应速度 2、分布式缓存 在分布式的系统架构中,多个服务之间需要共享缓存交换数据,将缓存存储在各自机器的内存中显然不行,这就需要Redis的分布式缓存使服务间共享 阅读全文
posted @ 2019-05-06 17:48 杨岂 阅读(668) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示