![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
Mrkang1314
这个作者很懒,什么都没留下…
展开
-
使用Redis实现session共享
Session共享什么是session由于HTTP协议是无状态的协议,因而服务器需要记录用户的状态时,就需要用某种机制来识别具体的用户。session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而session保存在服务器上,客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是session,客户端浏览器再次访问时只需要从该session中查找该客户端的状态就可以了。Spring SessionSpring Session提供了一套创建和管理Se原创 2020-08-24 11:55:03 · 3213 阅读 · 2 评论 -
SpringBoot和redis的使用
spring-boot-starter-data-redisSpringBoot提供了对redis继承的组件包:spring-boot-starter-data-redis,依赖于spring-data-redis和lettuce,SpringBoot1.0默认使用的是Jedis客户端,2.0换成了Lettuce。Lettuce:是一个可伸缩线程安全的Redis客户端,多个线程共享同一个RedisConnection,它利用优秀Netty NIO框架来有效管理多个连接;Spring Data:是Sp原创 2020-08-23 16:21:52 · 210 阅读 · 0 评论 -
redis cluster高可用集群搭建、集群扩容、集群缩容
redis集群演变过程单机版核心技术:持久化持久化是最简单的高可用方法,主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。主从复制复制是高可用redis的基础,哨兵和集群都是在复制基础上实现高可用,复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复,缺陷是故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制;哨兵在复制的基础上,哨兵实现了自动化的故障恢复,缺陷是写操作无法负载均衡;存储能力受到单机的限制。集群通过集群,redis解决了写操作原创 2020-05-25 15:16:13 · 299 阅读 · 0 评论 -
Redis高级特性
redis io模型redis 多路复用IO模型持久化Redis的所有数据都是保存在内存中的,然后不定期的通过异步方式保存到磁盘上,称为半持久化模式;也可以把每次一数据变化都写到一个append only dile(aof)里面,称为全持久化模式RDB模式默认redis是会以快照的形式将数据持久化到磁盘上,配置文件中默认执行,也可以手动save和bgsave。默认情况下:900秒...原创 2019-03-20 12:39:14 · 240 阅读 · 0 评论 -
Redis入门基本操作
基础数据结构String不同于Java中的String,而是类似与StringBuilder;数据结构:SDS(simple dynamic string) 是可变的,在容量满了之后会自动扩容,在容量小于1m时,每次翻倍,超过1m 每次只增加1m,最多512m;常用操作set getset key value 存储value为字符串类型的数据;get key ...原创 2019-03-18 09:54:55 · 117 阅读 · 0 评论 -
Redis之IO线程、IO多路复用,BIO、NIO和AIO区别
参考文章:https://blog.csdn.net/Happy_wu/article/details/80052617redis的线程redis是单线程操作的,但是却可以处理高并发。原因是基于多路复用的非阻塞IO,基于NIO(non_blocking_io);redis为什么这么快?完全基于内存,绝大部分请求是纯粹的内存操作;数据结构简单,对数据操作也简单,redis中的数据结构是专...原创 2019-03-18 12:06:48 · 10510 阅读 · 5 评论 -
用Java操作Redis
使用连接池连接与SpringBoot结合使用添加依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.1...原创 2019-03-18 14:35:21 · 127 阅读 · 0 评论 -
redis网络编程——Selector模型
JNI什么是JNI?JNI是Java Native Interface的缩写,通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植。提供了将Java与C/C++、汇编等本地代码集成的方案,该规范使得在 Java 虚拟机内运行的 Java 代码能够与其它编程语言互相操作,包括创建本地方法、更新Java对象、调用Java方法,引用 Java类,捕捉和抛出异常等,也允许 Java...原创 2019-07-31 20:05:26 · 1516 阅读 · 0 评论 -
Redis实现分布式锁
在JVM同一个进程内的线程单进程的并发场景,我们可以使用语言和类库提供的锁如Sychronized和ReentranLock,对于部分不是的场景,我们需要使用分布式锁。分布式锁的实现方式Memcached分布式锁:利用Memcached的add命令,此命令是原子性操作,只有在key不存在的情况下,才能add成功。Redis分布式锁:类似于Memcached,redis的setnx命令也是...原创 2019-09-26 11:53:45 · 130 阅读 · 0 评论