缓存技术
文章平均质量分 70
_夜半钟声到客船
永远保持对技术的热情
展开
-
知识积累:spring.data.redis获取key的有效期,set更新value,不重置过期时间做法
spring.data.redis获取key的有效期,不重置过期时间做法原创 2021-12-28 12:00:38 · 2190 阅读 · 0 评论 -
【面试】幂等性问题的思考和总结,防重、幂等,常用解决方案,解决方式
1、幂等性幂等性:多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。幂等性接口:是指可以使用相同参数重复执行,并能获得相同结果的接口。数学中:在一次元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同;在二次元运算为幂等时,自己重复运算的结果等于它自己的元素。计算机学中:幂等指多次操作产生的影响只会跟一次执行的结果相同,通俗的说:某个行为重复的执行,最终获取的结果是相同的,不会因为重复执行对系统造成变化。防重和幂等的区别:防重设计主要为了避免产生重复数据原创 2021-11-02 09:22:37 · 6892 阅读 · 0 评论 -
微服务环境下设计多级缓存架构
微服务架构中的多级缓存设计缓存,是每位软件开发人员都很熟悉的技术,它是目前架构设计中提高性能最便捷的方式。下面的这个例子:假设应用程序将原始数据存储在MySQL数据库中。众所周知MySQL数据库会将数据存储在硬盘以防掉电数据丢失,但是受限于硬盘的物理设计,即使是目前性能最好的SSD硬盘,也跟内存这种高速IO设备差一个数量级。目前大多数的应用软件都以“度多写少”场景为主。因此我们需要在设计上进行数据的读写分离,在数据写入时直接落盘处理。而占比90%的数据读取操作时则以Redis为代原创 2021-10-29 09:21:04 · 618 阅读 · 0 评论 -
知识积累:SpringBoot-data-Redis的RedisTemplate的opsForList,操作List<Object>集合的leftPushAll和rightAll问题;分页查询list
最近项目在用RedisTemplate的opsForList进行对象集合的存储并进行分页查询;可是当使用supportRedisTemplate.opsForList().rightPushAll(key, lists);默认走了Long rightPushAll(K var1, V… var2);试了很多种方式,将lists类型强转为Collection,将lists转为String[],最后都没有成功。只会存储一个整体的对象,无法使用range(),来进行分页查询。只能采取曲线救国的方案原创 2021-10-15 22:34:15 · 2864 阅读 · 0 评论 -
Redis为什么快?Redis 6新版本的多线程是什么?
Redis是一款基于内存中的Key-Value对数据结构存储,用作数据库,缓存和消息代理。官网地址:https://redis.io/中文翻译:http://www.redis.cn/Redis作者的blog:http://antirez.com/下面来看下Redis为什么快?1、基于内存实现Redis是基于内存进行数据存储和读取的【除RDB和AOF是保证数据可靠的持久化技术】,跟传统的磁盘文件数据存储相比,避免了通过磁盘IO读取到内存这部分的开销,这也是Redis快的主要原因。原创 2020-11-13 11:17:05 · 563 阅读 · 0 评论 -
通过Spring的AOP实现接口重复提交限制+Redis锁解决重复数据问题
由于项目中遇到很多场景,前端和客户端的请求到服务端出现重复,比如添加购物车,收藏商品,下单等接口;经常出现同一个用户的同一的请求同时请求到服务端,导致数据库出现重复数据;出现重复数据的原因就是同一个请求同时发起多次请求服务端;服务端接收到的请求没有做幂等处理(这个需要在请求接口之前与服务端保持一个当前请求的唯一id,保证只处理一次,这样做可以保证请求不会处理多次,但是增加了前端和客户端的工作量,需要在每次发起业务请求之前,获取这个全局唯一的请求id,这个唯一id的时效性也需要评估);另一种解决请求重原创 2020-07-03 09:26:32 · 1345 阅读 · 0 评论 -
prometheus+grafana监控redis
本教程基于docker 搭建基于prometheus+grafana监控redis1、centos安装docker,启动dockerhttps://www.runoob.com/docker/centos-docker-install.html2、下载redis_exporter插件需要其他版本的,自己选择相应版本:https://github.com/oliver006/redis_exporter/releases/代理插件不一定非要安装在redis端wget https://原创 2020-06-24 13:47:55 · 793 阅读 · 0 评论 -
Springmvc中配置ehcache遇到错误Another CacheManager with same name
Caused by: net.sf.ehcache.CacheException: Another CacheManager with same name '' already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:原创 2015-04-03 01:05:06 · 7315 阅读 · 0 评论 -
缓存之memcache-1
1 Memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。转载 2014-02-07 15:25:12 · 850 阅读 · 0 评论 -
memcached服务器搭建(RedHat5)
0.开始之前这篇文档描述的是在linux环境下安装部署memcached服务操作系统:Red Hat Enterprise Linux Server release 5.4 (Tikanga)内存:4G1.验证gcc是否安装 命令行执行gcc -v 看是否输出gcc版本信息,如果没有,则需要通知运维人员安装附:gcc正常安装时的输出转载 2014-01-03 17:06:09 · 871 阅读 · 0 评论 -
memcached-1.2.1-win32.zip的使用
解压到C: 进CMD到那个目录下.c:\memcached\memcached.exe -d install 说明.-D是做为DEAMON服务.每次服务自动启动.c:\memcached\memcached.exe -d start 启动服务. 其它设置如设置内存大小,绑定端口等可以去官网看.重新启动APACHE,然后查看一下phpinfo,如果有memcache,那么就说原创 2013-05-13 15:36:29 · 1222 阅读 · 0 评论