随笔分类 -  DB及框架 / redis

摘要:## 一、使用分布式缓存Redis ### (一)分布式缓存和Redis ​ 1、多级缓存 ​ 在一个简单的请求链路中,会经过Nginx、Redis、Tomcat、数据库,其中Nginx、Redis、Tomcat都有缓存存在,这也是常说的多级缓存。 ​ ​ 2、缓存的作用与应用场景 ​ 使用缓存主要 阅读全文
posted @ 2023-07-07 16:18 李聪龙 阅读(100) 评论(0) 推荐(0) 编辑
摘要:Homebrew 安装 /usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)" 一、安装OpenResty 安装并设置环境变量 brew install openresty 阅读全文
posted @ 2022-04-02 20:15 李聪龙 阅读(322) 评论(0) 推荐(0) 编辑
摘要:一、业务场景分析 在实际开发中,我们需要使用到锁,来防止并发问题,以秒杀为例,如果没有锁的处理,就会发生超卖的问题,超卖问题的出现,是由于多线程并发处理,一个事务未提交,但是另外的线程来查询时,可以查询到仍有库存,就会发生超卖。 解决这类问题,一般有三种方案: 1、使用锁处理 也就是让所有的操作都串 阅读全文
posted @ 2021-10-27 15:08 李聪龙 阅读(383) 评论(0) 推荐(0) 编辑
摘要:官网 Jedis api 在线网址:http://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html lettuce 官网地址:https://lettuce.io/ lettuce git项目地址:https://gith 阅读全文
posted @ 2021-02-04 17:36 李聪龙 阅读(442) 评论(0) 推荐(0) 编辑
摘要:一、服务端优化 (一)限制Redis内存大小 需要使用maxmemory来设置Redis的最大内存,例如 maxmemory 1GB 在64位操作系统中,Redis的内存大小是没有限制的,因为maxmemory配置项是被注释掉的,这样就会导致在Redis内存不足时,Redis会使用磁盘作为其虚拟内存 阅读全文
posted @ 2021-02-04 17:10 李聪龙 阅读(4292) 评论(0) 推荐(0) 编辑
摘要:一、分布式锁 锁在项目中的应用场景就无须多说,在单应用多线程场景中,可以直接使用synchronize或者ReentrantLock来加锁处理,但是在微服务体系中,为了保证项目的高可用,会部署多个相同的项目,因此单应用的加锁并不能保证只有一个请求能进入到处理流程,因此就需要借助项目外的第三方实现分布 阅读全文
posted @ 2021-02-03 21:56 李聪龙 阅读(520) 评论(0) 推荐(0) 编辑
摘要:一、安装lua centos使用以下命令安装 curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gz tar zxf lua-5.3.0.tar.gz cd lua-5.3.0 make linux test make install 安装过程中可能出现 阅读全文
posted @ 2021-02-02 21:47 李聪龙 阅读(2724) 评论(0) 推荐(0) 编辑
摘要:一、问题: 本人在阿里云上模拟了一个Redis集群(使用8001-8006),使用linux连接,所有都正常,但是使用Java客户端连接时(Java客户端与Redis集群不在同一服务器上),就出现了异常,说不能访问。 集群安装:https://www.cnblogs.com/liconglong/p 阅读全文
posted @ 2021-02-01 18:11 李聪龙 阅读(3753) 评论(0) 推荐(0) 编辑
摘要:一、主从复制 1、主从同步介绍 通过主从复制,可以避免出现单点故障,即使主redis宕机,从服务器仍然可以提供服务; 主redis中的数据和从redis中的数据保持实时同步,当主redis写入数据时,通过主从复制机制会复制到两个从redis中; 只有一个主redis,可以有多个从redis,一个re 阅读全文
posted @ 2021-01-26 17:59 李聪龙 阅读(574) 评论(0) 推荐(0) 编辑
摘要:redis是一个内存数据库,为了保证数据的持久性,它提供了三种持久化方式:RDB、AOF、混合持久化模式(4.0增加,5.0默认开启) 一、RDB RDB是redis默认采用的持久化方式,其是通过快照完成的,当符合一定的条件时,redis会自动将内存中的数据进行快照并持久化到硬盘。 1、触发RDB快 阅读全文
posted @ 2021-01-24 23:37 李聪龙 阅读(134) 评论(0) 推荐(0) 编辑
摘要:一、缓存通识 1、缓存类型 缓存类型分为本地缓存、分布式缓存、多级缓存 本地缓存:本地缓存就是在进程的内存中进行缓存,例如JVM的堆中,可以用LRUMap来实现,也可以使用Ehcache来实现。 本地缓存是内存访问,没有远程交互开销,性能最好,但是受限于单机容量,一般缓存较小且无法扩展 分布式缓存: 阅读全文
posted @ 2021-01-24 21:30 李聪龙 阅读(687) 评论(0) 推荐(0) 编辑
摘要:1、官网下载:https://redis.io/download 复制下载地址 2、在linux中下载 wget http://download.redis.io/releases/redis-5.0.10.tar.gz 3、解压文件 tar -zxvf redis-5.0.10.tar.gz\?_ 阅读全文
posted @ 2021-01-23 14:29 李聪龙 阅读(804) 评论(1) 推荐(0) 编辑
摘要:一、Redis数据类型及命令 (一)String 类别 命令描述 命令 示例 备注 取/赋值操作 赋值 set key value set lclkey lclvalue 取值 get key get lclkey 取值并赋值 getset key value getset lclkey1 lclv 阅读全文
posted @ 2021-01-14 10:32 李聪龙 阅读(411) 评论(0) 推荐(0) 编辑
摘要:经过: 项目上线后经常报 Unexpected end of stream.; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream. 白天平均半个小 阅读全文
posted @ 2020-05-22 20:30 李聪龙 阅读(13399) 评论(1) 推荐(2) 编辑
摘要:1、引入依赖 2、在application配置文件中添加redis配置 3、自定义redisTemplate 由于后续要使用lua脚本来做权限控制,所以必须自定义一个redisTemplate,此处如果不自定义redisTemplate,则执行lua脚本时会报错。 4、增加限定类型枚举类 自定义一个 阅读全文
posted @ 2019-11-01 17:01 李聪龙 阅读(2289) 评论(0) 推荐(0) 编辑
摘要:一、简介 Spring Cache是Spring对缓存的封装,适用于 EHCache、Redis、Guava等缓存技术。 二、作用 主要是可以使用注解的方式来处理缓存,例如,我们使用redis缓存时,查询数据,如果查询到,会判断查到的结果是否为空,如果不为空,则会将结果存入redis缓存,此处需要一 阅读全文
posted @ 2019-10-18 15:46 李聪龙 阅读(502) 评论(0) 推荐(0) 编辑
摘要:一、SpringBoot--整合Lettuce redis 首先解释一下Lettuce客户端: Lettuce 和 Jedis 的都是连接Redis Server的客户端程序。Jedis在实现上是直连redis server,多线程环境下非线程安全,除非使用连接池,为每个Jedis实例增加物理连接。 阅读全文
posted @ 2019-10-17 21:15 李聪龙 阅读(2507) 评论(0) 推荐(0) 编辑
摘要:1、拉取redis镜像 2、创建存放redis文件夹用于存放redis mkdir /usr/data/redis/data 3、使用redis镜像运行redis容器 docker run -p 6379:6379 -v /usr/data/redis/data:/data --restart=al 阅读全文
posted @ 2019-10-17 19:32 李聪龙 阅读(5751) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示