Redis
耗子肉
这个作者很懒,什么都没留下…
展开
-
使用Redisson实现分布式锁
Redisson是架设在Redis基础上的一个java驻内存数据网格,基于NIO的Netty框架上,充分利用了Redis键值数据库提供的一系列优势。并且在java实用工具包中的常用接口基础上,为使用者提供了一系列分布式特性的常用工具类。Redisson使原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的...原创 2020-03-27 15:13:13 · 225 阅读 · 0 评论 -
Redis分布式锁
先讲下流程:1.在redis中设置一个锁setnx(lockkey , currenttime+timeout)。2.返回1代表之前没有这个锁,那么就调用expire(lockkey)来重新设置超时时间,执行业务,接下来del(key),释放锁,最后结束。3.返回0代表有这个锁,那么传统流程中就直接结束。优化后,调用get(lockkey)来获取这个锁的超时时间的value。3.1...原创 2020-03-26 19:49:15 · 164 阅读 · 0 评论 -
Springboot集成SpringSession
在传统web应用中,session都是交给容器管理,但是对于分布式或是集群,如果交给web容器管理的话,自然是行不通的,除非是web容器共享session,但是这样做需要入侵web容器,提高问题的复杂度,并且集群机器之间要相互耦合。因此,springsession来了。springSession将session从web容器中剥离出来,单独存在服务器中。目前支持redis、database、mo...原创 2020-03-25 17:29:06 · 574 阅读 · 0 评论 -
Redis分布式
算法原理举个例子,有若干个redis服务,有一个文件,那么这个文件放在哪呢?通常来说先把这个文件进行哈希,然后用redis个数进行取模,hash(file) % num,余数就是对应的服务器编号。假如有4个redis节点,20个数据,根据上面的算法,redis1上存1,2上存2,以此类推。假如节点现在要扩展,变成5个节点,跟4个节点位置没有发生变化的元素是:redis1-1,redis2-...原创 2020-03-23 12:01:31 · 170 阅读 · 0 评论 -
基于Redis的单点登录
加依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.6.0</version> </dependency>配置:...原创 2020-03-19 23:07:33 · 138 阅读 · 0 评论 -
Redis数据结构的命令
String字符串set a a:插入setex b 100 b:以秒单位设置超时时间psetex c 10000 c:以毫秒为单位设置超时时间getrange haozi 0 2:拿key为haozi的第0到第2个字符getset a aa:修改key为a的值为aa,同时返回旧值amset a1 a1 b1 b1 c1 c1:同时设置多组值mget a1 b1 c1:...原创 2020-03-18 17:39:47 · 95 阅读 · 0 评论 -
Redis基础
之前一直用redis,但一直没有系统全面的学习,接下来学一下。Redis Object内部使用的对象结构有:数据类型(type),编码方式(encoding),数据指针(ptr),虚拟内存(vm),其他信息等Redis Object用来表示所有的key和valueRedis常用数据类型的编码方式raw、int、ht、zipmap、linkedlist、ziplist、intse...原创 2020-03-18 17:03:49 · 118 阅读 · 0 评论