Rediscover遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
1. Redis 单线程,一部份是非阻塞的IO多路复用将请求加入消息队列。新版本 6.0 已经支持多线程。
2. 纯内存操作,速度快。
3.一秒可以处理上万级请求。
redis 实现分布式锁:
集群环境中的并发问题,需要加上分布式锁来解决高并发问题,比如秒杀活动的“超卖”问题。
1.代码里加锁,锁放入redis 使用 redis的 setnx()放入锁 ,try(){} finally{释放锁},
上面代码仍然存在问题,高并发情况下,代码执行时间过长,而导致锁失效。解决考试给锁延续生命(一个异步线程每隔一段时间检查锁是否失效,若未失效则把锁的失效时间重新设置。