![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
缓存
文章平均质量分 69
redis、本地缓存……
融极
未来像盛夏的大雨,来不及撑伞就已经倾盆而下。
展开
-
Redis发布订阅功能详解
Redis提供的发布订阅功能。原创 2023-03-23 23:02:41 · 265 阅读 · 0 评论 -
Spring Boot StringRedisTemplate 发布订阅
redis消息发布订阅原创 2022-12-19 17:24:32 · 485 阅读 · 0 评论 -
redission unlock挂起导致获取锁无限等待
redission原创 2022-11-02 23:05:04 · 1492 阅读 · 0 评论 -
Redisson分布式锁详解
Redission知识总结原创 2022-08-14 10:19:54 · 2862 阅读 · 0 评论 -
Redis应用案例之优惠券秒杀
优惠券秒杀原创 2022-08-13 14:39:04 · 909 阅读 · 0 评论 -
Redis应用案例之共享session登录
redis实现共享session原创 2022-08-11 11:39:01 · 366 阅读 · 0 评论 -
SpringDataRedis的序列化方式(二)
redisTemplate原创 2022-08-09 22:33:55 · 416 阅读 · 0 评论 -
SpringDataRedis快速入门(一)
springDataRedis原创 2022-08-07 18:24:21 · 298 阅读 · 0 评论 -
Redis分布式锁
redis分布式锁原创 2022-08-07 16:55:28 · 172 阅读 · 0 评论 -
Redis集群概念与搭建
redis集群原创 2022-08-02 23:08:02 · 210 阅读 · 0 评论 -
org.redisson.client.RedisResponseTimeoutException: Redis server response timeout (3000 ms)错误解决
redis错误原创 2022-06-29 11:41:25 · 1638 阅读 · 0 评论 -
Redisson与SpringBoot整合
概述官方解释,什么是redisson?Redis Java Client with features of In-Memory Data Grid。什么是redisson原创 2021-12-13 11:43:38 · 11945 阅读 · 1 评论 -
本地缓存Guava Cache-Guava
概述缓存的目的是使用空间来换时间,比较常见的使用场景是,将经过复杂计算(或者跨网络socket调用)的结果缓存到本地,以便下次使用时直接利用上次结果,对于读多写少的数据,缓存可以有效的减少请求处理的端到端延迟,以及对后端的基础资源有效的保护。分布式缓存,一般选择redis等分布式缓存组件来实现,而本地内存缓存涉及到线程安全、缓存失效时间控制等问题。对于本地缓存可以使用Guava Cache,Guava Cache是一款优秀的内存缓存组件。......原创 2021-11-03 09:47:54 · 585 阅读 · 0 评论 -
Redis与Reactor线程模型
概述Redis处理客户端业务(文件事件)的基本流程可以理解为有两个线程参与业务处理。IO多路复用线程监测所有的socket(包括监测accept事件,创建socket),当有可选事件发生时,把事件信息对象放入任务队列中。事件分派处理线程从任务队列中依次获取事件信息对象,按照事件类型调用不同的事件处理函数,完成事件处理并把相应信息写入socket中通知客户端。参考https://www.open-open.com/lib/view/open1452486726589.htmlhttp原创 2021-03-21 20:02:45 · 309 阅读 · 0 评论 -
Redis数据结构的底层实现
概述五种基本数据结构都有不同的底层编码格式,主要是为了节约内存使用、提供访问速度。参考https://www.cnblogs.com/MouseDong/p/11134039.html原创 2021-02-28 13:16:18 · 123 阅读 · 0 评论 -
Redis缓存穿透、击穿、雪崩
概述缓存穿透(数据库查不到)用户想要查询一个数据,发现redis中没有,也就是缓存每命中,于是向持久层数据库中查询,发现数据库中也没有,于是本次查询失败。当用户很多时候,缓存一直没有命中(比如秒杀场景),于是都去请求数据库了。这会给数据库造成很大的压力,这种场景就是缓存穿透(简单的说就是缓存和数据库中都没有某条数据,就会造成缓存穿透的情况)。解决方案布隆过滤器布隆过滤器是一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃,从而避免了对底层存储系统的查询压原创 2020-11-25 21:49:15 · 601 阅读 · 0 评论 -
Redis哨兵模式
概述(自动选老大的模式)主从切换技术的方法是:当主机宕机后,需要手动把一台服务器切换成主服务器,这就需要人工干预,费时费力,还会造成一段时间内服务不可用。这不是一种好的方式,更多的时候,我们需要优先考虑哨兵模式。Redis2.8开始正式提供了Sentinel架构来解决这个问题。谋朝篡位的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行,其原理是哨兵通过发送命令,等待Red原创 2020-11-25 20:42:11 · 359 阅读 · 0 评论 -
Redis主从复制
概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave以读为主。默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个从节点,但一个从节点只能有一个主节点。主从复制的作用主要如下:数据冗余:主从复制实现了数据的热备份,是持久化的一种数据冗余方式。故障恢复:当主节点出现问题时,可以由从节点提供服务原创 2020-11-24 22:15:05 · 189 阅读 · 2 评论 -
Redis发布订阅
概述一种消息通信模式。Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis客户端可以订阅任意数量的频道。订阅/发布示意图:下图展示了频道channel和定义这个频道的三个客户端。当有新消息通过publish命令发送给频道channel1时,这个消息会被发送给订阅它的三个客户端。命令PSUBSCRIBE pattern [pattern …]订阅一个或多个符号给定模式的频道。PUBSUB subcommand [ar原创 2020-11-24 20:51:39 · 361 阅读 · 0 评论 -
Redis持久化
面试和工作,持久化都是重点。Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态就会消失。所以Redis提供了持久化功能!RDB(Redis DataBase)RDB数据库什么是RDB在指定的时间间隔内将内存中的数据集快照(snapshot)写入磁盘,也就是snapshot快照,它恢复时是将快照文件直接读到内存中。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程结束了,再用这个临时文件替原创 2020-11-22 13:53:10 · 116 阅读 · 0 评论 -
Redis.conf文件配置
概述启动时通过redis.conf配置文件启动单位大小写不敏感包含就好比我们学习Spring 的xml配置时使用import,inclue加载配置片段网络bind 127.0.0.1protected-mode yesport 6379通用配置daemonize yes # 默认no, 我们需自己开启,开启已守护进程启动,否则终端关闭就关闭了pidfile /var/run/redis_6379.pid # 如果以守护进程的方式运行,我们就需要指定一个pid文原创 2020-11-22 13:22:27 · 154 阅读 · 1 评论 -
SpringBoot整合Redis
概述SpringBoot整合Redis通过Spring-Data Redis说明在SpringBoot2.x之后,原来使用的Jedis被替换为lettuce。jedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedis pool连接池!更像BIO模式lettuce:采用netty,实例可以在多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了,更像NIO模式。...原创 2020-11-21 16:31:28 · 179 阅读 · 0 评论 -
Jedis
概述我们要使用java 来操作redis,通过jedis。jedis是Redis官方推荐的java连接开发工具! 使用java操作Redis中间件,如果你要使用java操作redis,就一定要对Jedis十分熟悉。测试导入jedis包编码测试:连接测试命令操作常用API命令所有API命令都是和redis中的命令一致...原创 2020-11-15 22:18:46 · 134 阅读 · 0 评论 -
redis事务
概述Redis事务的本质:一组命令的集合;一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行。特性:一次性、顺序性、排它性。redis事务没有隔离级别的概念所有的命令在事务中,并没有直接被执行,而是放在待执行队列中,只有发起执行命令的时候才会执行。ExecRedis单条命令是原子性的,事务没有原子性(部分成功,部分失败,在Mysql中是不可能的,mysql事务需满足ACID)redis的事务:开启事务(multi)命令入队执行事务(exec)127.0.0.1:637原创 2020-11-15 22:00:08 · 120 阅读 · 1 评论 -
数据类型(五大基本类型,3种特殊类型)
概述官方文档Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LR原创 2020-11-15 11:19:24 · 4800 阅读 · 1 评论 -
redis入门基础知识
数据库默认16个数据库可以通过select 切换dbsize查询数据目前大小清除当前数据库flushdb 清空当前数据库的内容flushall 清空所有数据库的内容redis是单线程的redis是基于内存操作,CPU不是redis性能瓶颈,redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程实现,就使用单线程实现。redis是C语言写的,官方提供的数据时100000+的QPS,完全不必通用使用key-value的Memecache差。Redis为什么单线程这么快原创 2020-11-15 10:43:39 · 174 阅读 · 0 评论 -
redis-benchmark性能测试
benchmark客户端测试benchmark测试命令选项执行 redis-benchmark -h localhost -p 6379 -c 100 -n 100000连接主机6379端口,100个并发客户端连接,100000个请求。测试部分结构分析:100000个请求划分1.41s.100个并发客户端。每次写入3bytekeepalive:1表示只有一台服务器处理这些请求,也就是单个redis服务器的性能。所有请求10ms内完成,每秒完成71073.72个请求。 ...原创 2020-11-15 10:20:12 · 172 阅读 · 0 评论 -
Redis安装(linux)
官网下载redis安装包解压通常自己安装的三方软件都放在/opt目录下mv redis-6.0.9.tar.gz /optcd /opttar -zxvf redis-6.0.9.tar.gz安装(centos) - 安装gcc-c++环境 yum install gcc-c++ - 执行make安装 make ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201114233835928.png#pic_ce.原创 2020-11-15 00:01:01 · 127 阅读 · 0 评论 -
Redis慢查询总结
redis慢查询原创 2020-06-01 22:50:54 · 575 阅读 · 0 评论