redis共享存储-redis共享(4-14-49)
更新时间:2024-11-16 分类:Redis 浏览量:2
Redis本文目录一览:
- 1、Redis的主要功能
- 2、redis实现session共享的一些细节
- 3、两个服务器共享redis取不到数据
Redis的主要功能
与其他会话存储(如Memcache)不同,Redis可以保留数据,以便在缓存停止的情况下,在重新启动时,所有数据仍然存在。即便不是需要严格持续的任务,此功能仍可以为你的用户省去大量的麻烦。
redis是一个单线程的NoSQL数据库,主要用来做数据缓存,一般大型网站的应用和数据库之间的那一层就是Redis。
redis叫做远程字典服务,是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。
Redis支持发布订阅模式,可以用于实现实时消息推送、事件通知等场景。发布者将消息发布到特定的频道,订阅者可以订阅感兴趣的频道并接收消息,实现消息的实时分发。
所以这个时候Redis的持久化功能就派上用场了,可以缓解一下缓存雪崩带来的影响。redis的持久化指的是redis会把内存的中的数据写入到硬盘中,在redis重新启动的时候加载这些数据,从而最大限度的降低缓存丢失带来的影响。
缓存缓存现在几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的压力。Redis提供了键过期功能,也提供了灵活的键淘汰策略,所以,现在Redis用在缓存的场合非常多。
redis实现session共享的一些细节
1、通过spring boot + redis来实现session的共享非常简单,而且用处也极大,配合nginx进行负载均衡,便能实现分布式的应用了。
2、经测试,springboot项目,使用redis实现session共享,session的有效期默认为2100s,即35分钟,并且,springboot已经实现了自动续期,每次访问session(getSession或者存取数据),都会把ttl重置为2100s。
3、哪里创建: 通过搜索RedisHttpSessionConfiguration发现SessionRepositoryFilter的创建不是在RedisHttpSessionConfiguration,而是在父类SpringHttpSessionConfiguration中创建。
4、下面我们使用第一种方式实现一个限制指定IP的过滤器:通过过滤器解析session后,就可以根据session中保存的内容,判断当前登录的用户权限。
5、共享Session:对于一些依赖 session 功能的服务来说,如果需要从单机变成集群的话,可以选择 redis 来统一管理 session。
6、String 字符串 字符串类型是 Redis 最基础的数据结构,首先键都是字符串类型,而且 其他几种数据结构都是在字符串类型基础上构建的,我们常使用的 set key value 命令就是字符串。
两个服务器共享redis取不到数据
大致意思是:错误的配置,当前数据不能持久化到硬盘,因为实例在写期间被配置为(stop-writes-on-bgsave-error option =yes)也即bgsave持久化过程中发生错误,就不能持久化了。
其中一种可能是网络连接的问题,可能是Idea所在的机器无法与远程Redis服务器建立有效的网络连接。另外,也有可能是配置的问题,可能没有正确配置Idea的Redis连接信息或者没有正确设置远程Redis服务器的访问权限。
对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据。
一般热备的方式可以让数据同步,相当于多个克隆,一个出现问题,另一个立即顶替上去。
检查 Redis 键可以很明显地找到配置错误的位置,最终启用键空间事件的注释@EnableRedisRepositories使我们修复了内存泄露。