------redis
文章平均质量分 83
从心归零
这个作者很懒,什么都没留下…
展开
-
redisson锁和自己实现的zookeeper锁的性能测试和比较
在配置文件中设置使用哪个锁,使用junit测试 static int total = 20;//开启循环数 @Test @Rollback(false) public void contextLoads() throws Exception { Date startTime = new Date(); Long waitTime = 1000L;//线程执行时间 CountDownLatch totalLatch = new CountDo原创 2021-04-15 14:47:53 · 623 阅读 · 0 评论 -
切面注解编程使用map形式保存列表缓存避免redis模糊删除
缓存常常会有这种需求,就是根据不同的参数查询不同的列表缓存,但是只要更新了某个对象,那么这个对象相关的所有列表缓存都需要更新。之前我是用注解的方式模糊搜索并删除缓存,https://blog.csdn.net/qq_36804701/article/details/80604962但是随着项目的使用量,数据,并发量日益庞大,连redis都开始成为瓶颈,这时候使用模糊查询会非常耗费资源,所以我研究了一下如何避免模糊查询来删除列表数据。有两种思路第一种是专门维护缓存的键名,比如建立一个列表缓原创 2020-12-29 17:19:09 · 360 阅读 · 0 评论 -
redis缓存忽略字段不匹配,并记录日志
发布项目时发生了很多次因为字段更新导致redis缓存字段不匹配报错,因为开发了很多的项目,为了保持所有的项目pojo类同步,我们专门搞了一个pojo项目,里面存放所有的pojo类,包括实体类和dto,放到maven上面,然后其他所有项目引用maven。但是最近又发生了redis缓存报错的问题,原因是我们建立了项目分支系统,包括pojo类也是,然后维护人员在发布的时候可能因为没有及时切换pojo项目或者是因为编译问题,导致把分支上的pojo类发布了上去,又导致缓存报错了,虽然属于操作失误,一般来说不应该发原创 2020-06-10 10:39:40 · 1312 阅读 · 0 评论 -
使用切面注解编程实现redis模糊删除数据之二使用spel表达式
传送门:使用切面注解编程实现redis模糊删除数据之一之前虽然用切面编程实现了redis的模糊查询,但是却没有实现像spring-redis原生的语法一样的spEl表达式,比如#参数名这种形式,然后在网上找了一些资料,实现了和spring-redis一样的spEl表达,可以使用#参数名或者#p0这样的方式,下面是代码import java.lang.reflect.Method;import j...原创 2018-06-07 12:19:36 · 753 阅读 · 0 评论 -
使用切面注解编程实现redis模糊删除数据之一
之前使用spring-redis,发现没有根据模糊查询删除redis,局限性很大,比如我有两个权限表,模块权限表baseModule,和按钮权限表baseButton。我把权限进行了缓存,然后在登陆时删除缓存,模块权限的保存名是baseModulePermissionList+#userId,按钮权限表的保存名是baseButtonPermissionList+#userId+#moduleId,...原创 2018-06-07 10:45:24 · 821 阅读 · 4 评论 -
ehcache模糊批量移除缓存(转载)
spring-redis实在有太多局限性,用@CacheEvict删除缓存要么只能根据id删除,要么只能全部删除。没有批量模糊条件删除的功能,于是我在网上找了半天资料,发现一个用ehcache,然后自己实现模糊条件删除的文章,虽然和我用的不知道是不是同一个东西,但是也是使用@Cacheable、@CachePut、@CacheEvict三个标签的。先记录一下网址,明天再分析https://www....转载 2018-06-05 20:19:21 · 1918 阅读 · 0 评论 -
springboot redis缓存功能的初步了解和使用
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <...原创 2018-06-04 18:26:55 · 185 阅读 · 0 评论 -
redis保证编号的唯一性
在新增任务单,自动生成任务单号时,会根据一定的规则在原有的公司任务单号基础上,数值加一。在公司业务流程中一般来说是没有问题的,因为在公司中任务单的并发量很小。但是在压力测试中就会报任务单号重复的错误,一般流程中报错也没什么,但是压力测试就做不下去了。解决方案可以加锁,但是redis有另一个方案可以实现。 @Resource ProduceTaskDao produceTaskD...原创 2018-09-10 10:10:57 · 3889 阅读 · 0 评论 -
redis缓存管理问题
springboot redis缓存功能的初步了解和使用之前做了用注解的方式管理缓存的功能,但是现在发现可能会发生问题。那就是注解的@CacheEvict和@CachePut行为是立即发生的,而不是事务提交后再调用,而事务回退了缓存也不会回退。我先测试了@CachePut@Servicepublic class MachineRuntimeServiceImpl implement...原创 2018-12-14 11:26:06 · 552 阅读 · 1 评论