1、使用idea创建spring boot项目。
2、添加pring-boot-starter-data-redis依赖。
3、添加一个测试接口。
4、启动项目,查看redis *** 作结果,发现key为不熟悉编码。
5、添加配置文件,主要代码redisTemplate.setKeySerializer(new StringRedisSerializer())。
6、重启项目,重新调用接口,再次查看redis结果。
注意事项:
可以使用方法获取对象中的key和value,相应的在d3.js中,也有这些方法可以获取对象的key和value。
spring中redis 配置的不对如下配置:
<!--redis配置-->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxTotal" value="${redis.maxActive}" />
<property name="maxWaitMillis" value="${redis.maxWait}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>
<!--spring redis配置-->
<bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:host-name="${redis.host}"
p:port="${redis.port}"
p:password="${redis.pass}"
p:pool-config-ref="poolConfig"/>
<!--下面是配置的关键-->
<bean id="stringRedisSerializer"
class="org.springframework.data.redis.serializer.StringRedisSerializer" />
<!--下面可以单独使用,可以设置生存时间-->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
p:connectionFactory-ref="connectionFactory" p:keySerializer-ref="stringRedisSerializer"
p:hashKeySerializer-ref="stringRedisSerializer"
p:hashValueSerializer-ref="stringRedisSerializer" />
<!--下面可以单独使用,可以设置生存时间-->
<bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"
p:connectionFactory-ref="connectionFactory" />
使用:可以封装到dao中,也可以通过spring上下文去获取RedisTemplate或者 stringRedisTemplate来使用。举例:
redisTemplate.expire("redisobject", 30, TimeUnit.SECONDS)
stringRedisTemplate.expire("redis", 30, TimeUnit.SECONDS)
//注意保证使用的key是存在的
//redisTemplate.expire(key,timeout,timeunit)
//参数说明 key 需要设置的key timeout:key的生存时间 timeuint:时间单位(小时,分钟,秒……)
//可以用 ttl key 命令查看该key的生存时间
注意:以上的方法只适用于key对应的值不再更新的问题,如果遇到包含生命周期的值需要更新的情景就不适用了,因为set 方法会丢失该key的生存时间,变成永久有效的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)