—1—
Redis简介
Redis 是C语言开发的一个开源高性能键值对的 内存数据库 ,可以用来做数据库、缓存、消息中间件等场景,是一种NoSQL(not-only sql,非关系型数据库)的数据库
—2—
Redis特点
优秀的性能,数据是存储在内存中,读写速度非常快,可支持并发10W QPS
-
单线程但进程,是线程安全的,采用IO 多路复用制
-
可作为分布式锁
-
支持五种数据类型
-
支持数据持久化到磁盘
-
可以作为消息中间件使用,支持消息发布及订阅
对于学习Java还有相关的一切疑惑与难题,皆可随时私信我咨询,朋友圈 输入:huany6880 本人接触Java语言将近20年时间,敢说自己对于Java的了解是精通的水平,如能尽自己的绵薄之力为大家提供一些微薄的帮助,不胜荣幸。另外还有专属IT编程就业规划师(Java、人工智能方向)和Java架构师路线图、面试题资料。
—3—
数据类型
下表是我列举的五种数据类型的特性及其使用场景
—4—
缓存
数据缓存是Redis最重要的一个场景,为缓存而生,在springboot中,一般有两种使用方式:
-
直接通过RedisTemplate使用
-
通过Spring Cache集成Redis(也就是注解的方式)
—5—
使用缓存遇到的问题
(1) 数据一致性
在分布式环境下,缓存和数据库很容易出现数据一致性问题,如果项目对缓存的要求是强一致性,那就不要使用缓存。
我们只能在项目中使用策略降低缓存与数据库一致性的概率,是无法保障两者的强一致性,一般策略包括缓存更新机制,更新数据库后及时更新缓存、缓存失败时增加重