redis 后台缓存技术,整合进入spring
来源:互联网 发布:安卓程序员的前景 编辑:程序博客网 时间:2024/06/05 15:40
NoSQL技术
内存数据库 Redis(NoSQL、非关系型数据库)
读写快、适合做缓存
文档数据库 MongoDB(NoSQL、非关系型数据库)
扩展性好、适合集群扩展、存储大量非核心数据
Oracle、MySQL、DB2(SQL、关系型数据库)
安全性、完整性好、存储核心业务数据
关系型和非关系型区别?
关系型是以表结构作为存储,表之间采用主外键约束表示。非关系型是以Key-Value键值对结构存储
Redis命令
Redis中Value值类型有:字符串、哈希、列表、集合、有序集合
字符串操作(重点)
存入
set key value
取值
get key
获取值长度
strlen key
递增或递减
incr keyincrby key ndecr keydecrby key n
追加,字符串拼接
append key value
key操作(重点)
查看所有key
keys *
删除key
del key
修改key名
rename key newkey
指定过期时间
expire key 秒
哈希操作(HashMap)
value结构: 字段名1 值1、字段名2 值2
存入值
hset key 字段名1 值1hmset key字段名1 值1、字段名2 值2
取值
hget key 字段名hmget key 字段名1 字段名2
字段个数
hlen key
查看所有字段名
hkeys key
删除某个字段
hdel key 字段名
列表操作(List)(重点)
存入值
lpush key value //放头部rpush key value //放尾部
取值
lrange key 0 -1 //取所有lindex key index //按索引取某一个
更新
lset key index newvalue
删除
lrem key count value //删除count个等于value的元素lpop key //删除第一个元素rpop key //删除最后一个元素
获取长度
llen key
集合操作(Set)
存入值
sadd key value value
取值
smembers key
删除元素
srem key value
获取长度
scard key
获取随机元素
srandmember key count
运算
交:sinter key1 key2并:sunion key1 key2差:sdiff key1 key2
A = {1 3 5 7}
B = {3 5 8 2}
交集:A和B都有的元素 {3 5} 并集:A加B元素 {1 2 3 5 7 8} 差集:A差B {1 7} B差A {2 8}
有序集合
存入值
zadd key score value score value
取值
zrange key 0 -1 //取所有值,由小到大zrevrange key 0 -1 //取所有值,由大到小
统计
zcount key min max//统计分数在min和max之间的元素数量zcard key //获取元素总数
删除
zrem key value
获取排名
zrank key value //由小到大,获取元素排名索引值zrevrank key value //由大到小,获取元素排名索引值
Java对Redis操作
引入jedis.jar工具包
建立连接
Jedis jedis = new Jedis();//默认连接本机Jedis jedis = new Jedis(host,port);//连接其他机器
数据操作
jedis.get/jedis.set等方法做字符串、哈希、列表、集合、有序集合操作
Jedis jedis = new Jedis();//连接本机Redis//获取字符串信息String v1 = jedis.get("java10");// get java10System.out.println("java10存储的值为"+v1);//获取List列表信息lrange list1 0 -1List<String> list = jedis.lrange("list1", 0, -1);for(String s:list){ System.out.println(s);}jedis.close();
Redis缓存应用
Spring+Redis集合
Spring框架和Redis结合,需要使用Spring-DATA框架功能。
准备工作
引入spring-data-redis.jar
在Spring中配置下面组件
JedisPoolConfig
<bean id="redisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="100"></property> <property name="minIdle" value="5"></property></bean>
JedisConnectionFactory
<bean id="redisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="localhost"></property> <property name="port" value="6379"></property> <property name="poolConfig" ref="redisPoolConfig"></property></bean>
RedisTemplate
<bean id="template"
class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="redisConnectionFactory"></property></bean>
编写RedisDao
可以将RedisTemplate注入进来,使用Template做写入和取值操作。
@Repository("redisDao")//扫描Daopublic class RedisDaoImpl implements RedisDao{ @Resource//注入Template private RedisTemplate template; @Override public Object getObject(String key) { //利用template对象操作 }}
Redis持久化
Redis支持RDB和AOF两种持久化机制。
RDB 快照机制
RDB持久化频率比较低,丢失数据量会较大。快照机制如下:
save 900 1 //900秒修改1次save 300 10 //300秒修改10次save 60 10000 //60秒修改10000次
按频率调用save命令,生成dump.rdb.
AOF 日志机制
利用appendonly.aof日志文件,将操作命令记录下来。
- redis 后台缓存技术,整合进入spring
- Spring整合Redis缓存
- spring整合redis缓存
- Spring整合Redis作为缓存
- Spring AOP 整合Redis 缓存
- spring整合redis缓存配置
- Spring整合Redis作为缓存
- spring mvc整合redis缓存
- Spring整合Redis作为缓存
- Spring整合Redis作为缓存
- Spring整合Redis作为缓存
- Spring整合Redis缓存实例
- java 整合redis缓存 SSM 后台框架
- 11、Spring技术栈-整合Redis,通过Redis的Master-Slave实现缓存数据读写分离
- spring boot 整合redis对查询数据做缓存( 利用spring的AOP技术)
- spring boot 整合redis对查询数据做缓存( 利用spring的AOP技术)
- 分布式缓存技术redis学习系列(五)——redis实战(redis与spring整合,分布式锁实现)
- 分布式缓存技术redis学习系列(七)—— spring 整合redis如何操作redis集群
- JavaScript中的常用高阶函数
- javascript 字典(dictionary)算法与说明
- Win8.1使用VMware虚拟网卡无法安装解决方法
- 微服务的4个设计原则和19个解决方案
- String,StringBuffer与StringBuilder的区别
- redis 后台缓存技术,整合进入spring
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- POJ 1990 MooFest
- AsyncTask的执行步骤
- Ajax方式和jsonp的实现区别
- Netty入门
- gulp-sass无法正常安装
- mybatis添加数据返回主键
- 欢迎使用CSDN-markdown编辑器