Redis(缓存/缓存数据库)

一、MyBatis缓存

1. 一级缓存

存放在SQLSession中

在mybatis.xml中配置缓存开启之后,查询生效

当实现增删改操作的时候失效

2. 二级缓存

  1. 存入mapper.xml文件的namespace中
  2. 当在mybatis.xml文件中配置了缓存开启之后,执行查询语句,SQLSession缓存关闭,mybatis会自动把执行的结果存入namespace中
  3. 当执行增删改的操作之后,二级缓存不失效;
    手动清空二级缓存或者重启Tomcat二级缓存失效

二、什么样的数据,可以存入缓存?

经常使用且不经常更改的数据存入缓存,如身份证号、性别、国家省市区等

三、Redis

1. 关系型数据库

表和表之间可以产生关联,数据和数据之间,也可以产生关联,这种类型的数据库称之为关系型数据库,如MySQL、Oracle

2. 非关系型数据库(NoSql数据库:没有sql的数据库)

所有的数据都必须独立存在,数据和数据之间没有关联关系,而且,没有表的概念,这种类型的数据库,称之为非关系型数据库,如redis、MongoDB、HBase

Redis:键值对数据库

  1. redis中存入的数据是key-value形式的数据
  2. 对应json数据格式
  3. redis是通过key值来获取value值
  4. redis的支持5种数据格式

key:数据格式永远为String
value:
String:(最常见的)
List:有序,数据可重复
Set:无序,数据不可重复
ZSet:有序,数据不可重复
新版本的Redis支持的是Hash
Hash(key:value)
HashMap
HashTable
旧版本的Redis支持的是Map
Map

  1. redis缓存是将数据存入redis数据库,那为什么还要用redis?
    redis在内存中做计算,是一个内存数据库,效率快,关系型数据库,只在硬盘中做计算。
  2. redis在内存中做计算,只要关机/重启,整个计算机的内存就要释放,redis最终会把数据持久化到硬盘。
  3. MongoDB:文档数据库(text)
  4. HBase:列数据库

3. Redis配置

  1. 从官网下载Redis
    redis5.0.5(蓝奏云)
  2. 使用xftp工具把redis压缩包上传到Linux服务器上
  3. 解压redis压缩包
  4. 进入redis的解压包中,编译并安装

make

make install

  1. 在redis根目录下创建redis_cluster文件夹
  2. 在redis_cluster中,分别创建端口号文件夹6380~6385,通过改变端口号,来模拟6台redis
  3. 在这些端口号文件夹中,创建redis.conf配置文件

#端口号:
port 6380
#设置ip,默认为127.0.0.1,需要将其改为集群可以访问的ip
bind 192.168.244.145
#redis后台运行
daemonize yes
#pidfile文件对应的端口号
pidfile /var/run/redis_6380.pid
#开启集群,把注释#去掉
cluster-enabled yes
#集群的配置
cluster-config-file node_6380.conf
#设置请求超时时间,默认为15秒
cluster-node-timeout 10100
#aof日志开启,有需要就开启,他会每次写操作都记录一条日志
appendonly yes

  1. 启动集群

在redis的src目录下执行

./redis-server …/redis_cluster/6380/redis.conf

依次启动6380~6385

  1. 创建redis缓存数据库

redis和mysql一样,虽然集群已经启动成功,但是redis并没有默认数据库,需要手动创建

在src目录下执行

./redis-cli --cluster create 192.168.xxx.xxx:6380 192.168.xxx.xxx:6381 192.168.xxx.xxx:6382 192.168.xxx.xxx:6383 192.168.xxx.xxx:6384 192.168.xxx.xxx:6385

  1. 检测redis的集群是否启动成功

ps -ef | grep redis

  1. 停止redis集群

在src执行
./redis-cli -h 192.168.244.145 -p 6380 shutdown

  1. 进入redis缓存数据库的命名

./redis-cli -h 192.168.244.145 -c -p 6380