Redis(二):Spring + RedisTemplate 操作Redis(单机)

1. POM.xml

<dependency>  
    <groupId>org.springframework.data</groupId>  
    <artifactId>spring-data-redis</artifactId>  
    <version>1.7.0.RELEASE</version>  
</dependency>  
<dependency>  
    <groupId>redis.clients</groupId>  
    <artifactId>jedis</artifactId>  
    <version>2.8.0</version>  
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.7.9</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.7.9</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.7.9</version>
</dependency>

2. redis.properties

#ip地址  
redis.host=192.168.170.129  
#端口号  
redis.port=6379  
#密码  
#redis.password=  
#链接数据库  
#redis.default.db=0  
#客户端超时时间单位是毫秒  
redis.timeout=100000  
  
#最大空闲数  
redis.maxIdle=300  
#最大连接数,0表示无限制,如果jedis2.4以后用redis.maxTotal  
#redis.maxActive=300  
redis.maxTotal=1000  
#最大建立连接等待时间  
redis.maxWaitMillis=1000  
#连接的最小空闲时间 默认18000000毫秒(30分钟)  
redis.minEvictableIdleTimeMillis=300000  
#每次释放连接的最大数目,默认3  
redis.numTestsPerEvictionRun=1024  
#逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1    
redis.timeBetweenEvictionRunsMillis=30000  
#是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个   
redis.testOnBorrow=true  
#在空闲时检查有效性, 默认false  
redis.testWhileIdle=true

3. application.xml

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
    <property name="locations">  
        <list>  
            <value>classpath:dbconfig.properties</value>  
            <value>classpath:redis.properties</value>  
        </list>  
    </property>  
</bean>  
<!-- ==========================Jedis配置=========================== -->  
<!-- redis连接池配置 -->  
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">  
    <!-- 最大空闲数 -->  
    <property name="maxIdle" value="${redis.maxIdle}"/>
    <!-- 连接池的最大数据库连接数 -->  
    <property name="maxTotal" value="${redis.maxTotal}"/>
    <!-- 最大建立连接等待时间 -->  
    <property name="maxWaitMillis" value="${redis.maxWaitMillis}"/>
    <!-- 逐出连接的最小空闲时间 默认1800000毫秒(30分钟) -->  
    <property name="minEvictableIdleTimeMillis" value="${redis.minEvictableIdleTimeMillis}"/>
    <!-- 每次逐出检查时,逐出的最大数目,如果为负数就是 : 1/abs(n), 默认3 -->  
    <property name="numTestsPerEvictionRun" value="${redis.numTestsPerEvictionRun}"/>
    <!-- 逐出扫描的时间间隔(毫秒)如果为负数,则不运行逐出线程, 默认-1 -->  
    <property name="timeBetweenEvictionRunsMillis" value="${redis.timeBetweenEvictionRunsMillis}"/>
    <!-- 是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个 -->  
    <property name="testOnBorrow" value="${redis.testOnBorrow}"/>
    <!-- 在空闲时检查有效性,默认false -->  
    <property name="testWhileIdle" value="${redis.testWhileIdle}"/>
</bean>  
<!-- redis单节点数据库连接配置 -->  
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">  
    <!-- IP地址 -->  
    <property name="hostName" value="${redis.host}"/>
    <!-- 端口  -->  
    <property name="port" value="${redis.port}"/>
    <!-- 密码 -->  
    <!-- <property name="password" value="${redis.password}"/> -->  
    <!-- 客户端超时时间单位是毫秒 -->  
    <property name="timeout" value="${redis.timeout}"/>
    <!-- 连接池配置 -->
    <property name="poolConfig" ref="jedisPoolConfig"/>
</bean>  
<!-- redisTemplate配置,redisTemplate是对Jedis的对redis操作的扩展 -->  
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">  
    <property name="connectionFactory" ref="jedisConnectionFactory"/>
    <!-- 如果不配置Serializer,那么存储的时候缺省使用String,如果用User类型存储,则会提示错误 -->  
    <property name="keySerializer">  
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
    </property>  
    <property name="valueSerializer">  
        <bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer" />  
    </property>  
    <property name="hashKeySerializer">  
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>  
    </property>  
    <property name="hashValueSerializer">  
        <bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer"/>  
    </property>
    <!-- 开启事务 -->  
    <property name="enableTransactionSupport" value="true"/>
</bean>  

4. 最后在Service中注入RedisTemplate

public class TblDeptServiceImpl extends ServiceImpl<TblDeptMapper, TblDept> implements TblDeptService {  
    @Autowired  
    private RedisTemplate redisTemplate;  
      
    public void setUser() {  
        //用redisTemplate操作  
        TblDept tblDept = new TblDept();  
        tblDept.setDeptId(123);  
        tblDept.setRmFlag(1);  
        redisTemplate.opsForHash().put("myhash","user",tblDept);  
    }  
} 

 

转载于:https://www.cnblogs.com/yifanSJ/p/9103731.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、安装文档 2、 实验:(1) 启动redis(2) 停止redis(3)测试连接(发送命令的两种方法) 字符串类型: (4)设置一个键,获得该键值,并判断一个键是否存在 (5)删除键 (6)增和减 (7) 向尾部追加值 (8) 获取字符串长度 (9) 同时获得/设置多个键值 (10) 位操作 散列类型: (11) 为键值car设置price、name、model等“属性” (12) 判断model字段是否存在,不存在的话添加该字段,最后删除 列表类型: (13)向列表添加元素、弹出元素、获取表中元素个数、获得列表片段 (14)获得/设置指定索引的元素值 集合类型: (16) 增加或删除元素以及获得集合中所有元素: (17) 判断元素是否存在于集合中: (18) 集合的运算差sdiff,交sinter,并sunion 有序集合类型: (19) 增加元素、获得元素分数、获得排名在某个范围的元素列表、获得制定分数范围的元素 事务: (20)MULTI开启事务,EXEC结束事务 (21)错误处理:语法错误(命令本身错误)和运行错误(命令使用类型错误) (22)watch命令(监控作用) (23)Expire,ttl,persist命令控制键的存活时间 (24)Sort排序命令 (25)构造如图表结构: (26) Sort key1 by key2 将key1按照key2的大小进行排序 (27)get:sort key1 get key2 按照key1大小进行排序,将key2结果显示出来 (28)sort、by、get结合使用: (29)获取外部键但不进行排序: (30)将下表存在哈希结构中,并使用sort、by、get方法进行操作 (31)Store:将排完序的结果进行存储 (32)订阅者-发布者模式 任务队列: (33)优先级队列:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值