redis初理解
程序员文章站
2022-03-05 10:10:11
...
redis百度百科里面说的是:
开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
刚开始我不怎么理解,看了些博客,又看了他们的代码自己分析尝试了把我的一个项目整合进去,最后我理解了这句话的意思。
- 首先区别redis跟Oracle等一些数据库软件的不同,Oracle等数据软件是将数据放到计算机硬盘中,而redis是将数据放到内存中,它不会经过硬盘,没有硬盘数据到内存数据那一步,这就是mybatis等持久化框架中二级缓存。
- redis工作流程很简单,就是通过c语言编写的应用管理内存,其中不同的是它提供一个跟别的应用通信的端口6379,功能就像数据库一样,你可以从中读取或者存放等操作,所以百度上说是支持网络,如果你配置电脑把该端口关了,没有办法了,不支持网络了,而且本机也不能用。
- redis相对mybatis的好处,mybatis的二级缓存是sqlsessionfactory,是以mapping的namespace为单位的是不安全的详情原因点击查看,而且扩展性不高,不支持集群缓存,而redis是原子性,安全。详情点击查看
- mybatis等框架要使用必须需要本框架提供cache接口,并且必须安装redis应用并且启用该服务或者运行,就像启用Oracle等数据服务一样,java使用redis服务maven项目将要加入
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.1</version>
</dependency>
下面持续跟新本人理解: