redis
CrazySnail_x
这个作者很懒,什么都没留下…
展开
-
Redis序列化引发的惨案
由于Redis是基于内存操作的数据库,所以速度非常的快,现在我们的项目中或多或少都会用到Redis,今天跟大家分享一个由Redis序列化问题导致的事故,希望大家引以为戒,不要犯我一样的错误。我们你项目中,使用的是springboot集成的RedisTemplate,用过的同学可能都知道,RedisTemplate在帮我们将数据存到Redis的时候,都会将我们的数据进行序列化,不管是key还是value,都会进行序列化,默认key和value使用的都是JdkSerializationRedisSer.原创 2020-06-23 21:51:18 · 473 阅读 · 0 评论 -
spring.data RedisTemplate API的使用
Redis 数据结构简介Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。下面来对这5种数据结构类型作简单的介绍:结构类型 结构存储的值 结构的读写能力 String 可以是字符串、整数或者浮点数 对整个字符串或者字符串的其中一部分执行操作;对象和浮点数执行自增(increment)或者自减(decrement) List 一个链转载 2020-06-05 10:24:26 · 638 阅读 · 0 评论 -
Redis序列化引发的惨案
由于Redis是基于内存操作的数据库,所以速度非常的快,现在我们的项目中或多或少都会用到Redis,今天跟大家分享一个由Redis序列化问题导致的事故,希望大家引以为戒,不要犯我一样的错误。我们你项目中,使用的是springboot集成的RedisTemplate,用过的同学可能都知道,RedisTemplate在帮我们将数据存到Redis的时候,都会将我们的数据进行序列化,不管是key还是value,都会进行序列化,默认key和value使用的都是JdkSerializationRedisSerial原创 2020-05-27 10:38:06 · 459 阅读 · 0 评论 -
Reids如何设置后台运行
本人使用的是HomeBrew安装的Redis,运行命令reids-server 使用默认配置文件启动后,关闭或者ctrl+c的时候,发现redis服务也同时停止了,是因为redis.conf的守护进程没有配置。redis启动默认使用的是 /usr/local/etc/redis.conf配置文件,所以我们打开这个文件,将其中的daemonize值设为yes就OK了:保存,退出,...原创 2020-04-30 18:06:45 · 277 阅读 · 0 评论 -
Redis :缓存穿透、缓存击穿、缓存雪崩问题的分析与解决方案
前言在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。我们只能采取合适的策略来降低缓存和数据库间数据不一致的概率,而无法保证两者间的强一致性。合适的策略包括 ...原创 2020-01-12 14:24:08 · 177 阅读 · 0 评论 -
为什么说Redis是单线程的以及Redis为什么这么快!
一、前言近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也只有Redis这一种。如果你在以前面试的时候还没有遇到过面试官问你《为什么说R...转载 2019-04-19 15:22:25 · 105 阅读 · 0 评论 -
Redis更新数据的时候如何不重置过期时间
最近在研究使用自定义注解 + 拦截器 + Redis 实现限流 的功能时,需要用Redis记录一段时间内某个接口被请求的次数。发现一个问题:我使用的是RedisTemplate,当我在redis中插入一个myKey值,并且设置了对应过期时间. 当过期时间还没到的时候重新 更新 myKey值会导致 过期时间被刷新,不信邪的我直接在Redis-cli 中又试了一下,发现过期时间依然被刷新了。下面...原创 2020-01-04 17:34:00 · 13362 阅读 · 10 评论 -
Field redisTemplate in ... required a bean of type ...RedisTemplate' that could not be found.
在springboot整合Redis的时候 ,项目无法启动,报:Field redisTemplate in com.xzh.AccessLimitController required a bean of type 'org.springframework.data.redis.core.RedisTemplate' that could not be found.我的RedisTemp...原创 2020-01-04 14:08:06 · 16448 阅读 · 1 评论 -
springboot 拦截器中无法注入 RedisTemplate
最近在研究使用Redis+拦截器实现限流,大致实现方法为在拦截器中用RedisTemplate向Redis中记录请求次数,但是在测试中发现在拦截器中,redisTemplate注入不进来,一直为null。我的拦截器如下:public class AccessLimitInterceptor implements HandlerInterceptor { @Autowired ...原创 2020-01-03 23:01:38 · 2509 阅读 · 7 评论 -
RedisTemplate如何获取符合要求的key
redisTemplate.keys()获取所有符合条件的key如图:reds中存了三条数据。我写的test如下:输出结果如下:原创 2019-10-25 14:19:11 · 7571 阅读 · 0 评论 -
Springboot 使用 RedisTemplate 存储的键出现乱码 : \xac\xed\x00\x05t\x00*
最近使用spring-data-redis RedisTemplate 操作redis时发现存储在redis中的key不是设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\x00这种字符串,如下spring-data-redis的RedisTemplate<K, V>模板类在操作redis时默认使用JdkSerializationRedisSeria...原创 2019-07-11 15:16:22 · 547 阅读 · 0 评论 -
redis的常用命令总结
常用的redis系统命令: auth 如果conf文件里设置了requirepass的值,那么在连接redis服务器的时候,是需要输入密码的AUTH password select : 切换数据库 keys : keys*获取当前数据库的所有key; keys h?llo 匹配hello hallo hbllo等; keys h*llo ...原创 2019-04-26 16:18:49 · 343 阅读 · 0 评论