一.首先针对缓存介绍redis缓存数据库。
1.redis缓存数据库个人理解介绍
1.1.redis缓存数据库是开源免费,是一个高性能的key-value结构的数据库,同时还提供list、set、zset、hash等数据结构的存储;string类型是redis最基本的类型,string类型是二进制安全的,也就是说redis的string类型可以包括任何对象(包括.jpg图片对象),string类型的值最大能存512MB大小;
1.2.redis支持持久化数据存储,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用,支持数据备份(master-slave模式的数据备份);
1.3.redis有极高的性能(读的速度是11万每秒,写的速度是8万1千每秒);
1.4.redis的所有操作都具有原子性(要么全部执行成功,要么全部执行失败完全不执行);单个操作支持原子性,多个操作也支持事务,即原子性(通过multi和exec指令包起来);
1.5.redis还具有丰富的特性,之后在具体介绍。
二.redis支持多语言的API,下面只介绍java对象当中的redis对象的使用
2.1.连接池自动管理,提供了一个高度封装的“org.springframework.data.redis.core.RedisTemplate”类
@Resource
private RedisTemplate redisLettuceTemplate;
向该项目的更新版本的类当中注入此对象,并使用该对象的一些方法。
2.2.介绍redisTemplate类的方法的使用
2.2.1.opsForValue()方法的使用
该方法的返回值对象为ValueOperations
其中包括:
2.2.1.1.(.get(key))根据key去获取数据库当中的value值
2.2.1.2.(.get(key,long start,long end))根据key值去获取对应value的下标为start到end所对应的字符串
2.2.1.3.(.set(key,value))新增存储一个字符串
2.2.1.4.(.getAndSet(key,value))根据传入的key值去更改为传入的value值
2.2.1.5.(.append(key,value))在已存储的key基础上,对value值之后拼接该value值
2.2.1.6.(.size(key))获取对应key的字符串的大小
2.2.1.7.(.rncrement(key,double))以增量的方式将double值存储在变量中
2.2.1.8.(.rncrement(key,long))以增量的方式将long值存储在变量中
2.2.1.9.(.setlfAbsent(key,value))如key不存在则新增,存在则不改变原有的值
2.2.1.10.(.set(key,value,long TimeOut,TimeUnit unit))设置变量值的过期时间(例(set("timeOutValue","timeOut",5,TimeUnit.SECONDS)))
2.2.1.11.(.set(key,value,long))覆盖从指定位置开始的值
2.2.1.12.(.multiSet(Map extends K,? etends V> map))设置map集合到redis
2.2.1.13.(.multiGet(Collection
2.2.1.14.(.multiSetIfAbsent(Map extends K,? extends V> map))如果对应的map集合不存在则添加,存在则不做更改
2.2.2.(.expire(key,timeout,TimeUnit))重新设置过期时间(例(expire(key,5,TimeUnit.SECONDS)))时间单位为分钟
2.2.3.(.convertAndSend(String,Object))向通道发送消息的方法(此处需要中间件publish或者subscribe)
三.项目当中pom.xml文件的应用
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-starter-data-redis
四.配置文件(application.properties文件)
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=0