博客
关于我
redis
阅读量:297 次
发布时间:2019-03-04

本文共 2454 字,大约阅读时间需要 8 分钟。

  1. 导包
org.springframework.boot
spring-boot-starter-data-redis
2.4.5
org.apache.commons
commons-pool2
com.fasterxml.jackson.core
jackson-core
2.9.2
com.fasterxml.jackson.core
jackson-annotations
2.9.2
com.fasterxml.jackson.core
jackson-databind
2.9.2

2 配置文件

在这里插入代码片

3 测试

@Autowired    RedisTemplate redisTemplate;    @Test    void contextLoads() {        redisTemplate.opsForValue().set("a","as");    }127.0.0.1:6379> keys *1) "\xac\xed\x00\x05t\x00\x01a"   乱码 是因为没有序列化 必须序列化

4 序列化

spring jdk 自己序列化 我们要自己去定义序列化

对象 转成 json 可以 但是 直接传递对象 会说序列化错误 在 对象后面 写

@Data@AllArgsConstructor@NoArgsConstructor@Componentpublic class User implements Serializable {       private String name;    private int age;}

自己写序列化 拿走直接用

@Configurablepublic class RedisConfig {       // 编写自己  redisTemplate    @Bean    @SuppressWarnings("all")    public RedisTemplate
redisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException { RedisTemplate
template = new RedisTemplate(); template.setConnectionFactory(redisConnectionFactory); // 自定义序列化开始 Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); ObjectMapper om = new ObjectMapper(); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); jackson2JsonRedisSerializer.serialize(om); //string 序列化 StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); // key 使用string序列化 template.setKeySerializer(stringRedisSerializer); // hashkey 使用string序列化 template.setHashKeySerializer(stringRedisSerializer); // key 使用value序列化 template.setValueSerializer(jackson2JsonRedisSerializer); template.setHashValueSerializer(jackson2JsonRedisSerializer); template.afterPropertiesSet(); // 自定义序列化结束 return template; }}

总结

1 导包
2redisTemplate.opsForValue().set(“user”,user); 跟正常redis操作一样
3 写对象 对象必须序列化 不然会报错 不想序列化 传json
4 自定义序列化 是为了解决自带的 有转义字符
5 写redieUtil
1 过期时间
2 key 是否存在
3 删除 一个 多个key object。。。
4 普通缓存放入
5 增加几
6 减少几个
7 hash map set

转载地址:http://oijq.baihongyu.com/

你可能感兴趣的文章
自定义BootstrapTable扩展:分页跳转到指定页码
查看>>
Python3逻辑运算符
查看>>
【学习笔记】欧拉函数,欧拉公式
查看>>
Python3序列
查看>>
vue-cli中找不到jquery的原因,以使用ztree为例
查看>>
React中设置404页面
查看>>
BootstrapValidator手动触发部分验证
查看>>
vue调试工具vue-devtools安装及使用
查看>>
CSS总结div中的内容垂直居中的四种方法
查看>>
[BZOJ4878]挑战NP-Hard
查看>>
The hat
查看>>
vue指令之v-for
查看>>
vue路由6:导航钩子
查看>>
[CF1278F]Cards
查看>>
jQuery实现无刷新切换主题皮肤功能
查看>>
vue单文件组件实例2:简单单文件组件
查看>>
Git中忽略特殊文件
查看>>
MySQL基本操作
查看>>
[CF932E]Team Work
查看>>
Django入门与实践:七、博客文章页开发
查看>>