Redis学习
文章平均质量分 92
Redis学习
HelloWorld搬运工
HelloWorld是学习程序的第一个程序,搬运工是将一件东西从一个地方运到另一个地方。HelloWorld搬运工,分享技术知识,有原创也有转发,彼此交流,一起学习,共同进步。
展开
-
在Redis分布式锁上,栽的8个跟头
在分布式系统中,由于 redis 分布式锁相对于更简单和高效,成为了分布式锁的首先,被我们用到了很多实际业务场景当中。但不是说用了 redis 分布式锁,就可以高枕无忧了,如果没有用好或者用对,也会引来一些意想不到的问题。原创 2022-09-18 20:39:55 · 1057 阅读 · 0 评论 -
SpringBoot 操作 Redis的各种实现(以及Jedis、Redisson、Lettuce的区别比较)
一、Jedis,Redisson,Lettuce三者的区别共同点:都提供了基于Redis操作的Java API,只是封装程度,具体实现稍有不同。不同点:1.1、Jedis是Redis的Java实现的客户端。支持基本的数据类型如:String、Hash、List、Set、Sorted Set。特点:使用阻塞的I/O,方法调用同步,程序流需要等到socket处理完I/O才能执行,不支持异步操作。Jedis客户端实例不是线程安全的,需要通过连接池来使用Jedis。1.2、Redisson原创 2021-08-30 19:43:41 · 981 阅读 · 0 评论 -
如何使用 Redis 实现 “附近的人” 这个功能
要提供完整的“附近的人”服务,最基本的是要实现“增”、“删”、“查”的功能。以下将分别进行介绍,其中会重点对查询功能进行解析。操作命令自Redis 3.2开始,Redis基于geohash和有序集合提供了地理位置相关功能。Redis Geo模块包含了以下6个命令: GEOADD: 将给定的位置对象(纬度、经度、名字)添加到指定的key; GEOPOS: 从key里面返回所有给定位置对象的位置(经度和纬度); GEODIST: 返回两个给定位置之间的距离; GEOH原创 2021-08-30 19:40:37 · 259 阅读 · 0 评论 -
Redis 内存压缩实战
在讨论Redis内存压缩的时候,我们需要了解一下几个Redis的相关知识。压缩列表 ziplistRedis的ziplist是用一段连续的内存来存储列表数据的一个数据结构,它的结构示例如下图压缩列表组成示例--截图来自《Redis设计与实现》 zlbytes: 记录整个压缩列表使用的内存大小 zltail: 记录压缩列表表尾距离起始位置有多少字节 zllen: 记录压缩列表节点数量,值得注意的一点是,因为它只占了2个字节,所以最大值只能到65535,这意味着压缩列表原创 2021-07-26 19:19:33 · 618 阅读 · 0 评论 -
运维需要知道的Redis经验
个人博客请访问http://www.x0100.topRedis 在当前的技术社区里是非常热门的。从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路。随之而来的一系列最佳实践,使得大多数人可以正确地使用 Redis。下面我们将探索正确使用 Redis 的10个经验。1、停止使用 KEYS *Okay,以挑战这个命令开始这篇文章,或许并不是一个好的方式,但其确实可能是最重要的一点。很多时候当我们关注一个redis...原创 2020-05-15 15:56:24 · 668 阅读 · 0 评论 -
系统用了Redis锁后,满脸都是泪,但我不后悔
个人博客请访问http://www.x0100.top谈起 Redis 锁,下面三个,算是出现最多的高频词汇: Setnx RedLock Redisson Setnx目前通常所说的 Setnx 命令,并非单指 Redis 的 setnx key value 这条命令。一般代指 Redis 中对 Set 命令加上 NX 参数进行...原创 2020-04-30 17:06:34 · 324 阅读 · 0 评论 -
Redis面试题最新总结
个人博客请访问http://www.x0100.top概述什么是RedisRedis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。...原创 2020-04-29 16:23:37 · 1371 阅读 · 0 评论 -
细聊redis 分布式锁的 5个坑,真是又大又深
个人博客请访问http://www.x0100.top最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了。脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug。我就熬夜写了一个bug被骂惨了。由于是做商城业务,要频繁的对商品库存进行扣减,应用是集群部署,为避免并发造成库存超买超卖等问题,采用redis分布式...原创 2020-04-29 10:51:32 · 392 阅读 · 0 评论 -
Redis 性能问题分析
个人博客请访问http://www.x0100.top在一些网络服务的系统中,Redis 的性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系,都存储在 Redis 中,大量的查询击中 Redis,而不走 MySQL。那么,针对 Redis 服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费呢?Redis 性能的基本...原创 2020-03-31 16:34:23 · 284 阅读 · 0 评论 -
jedis常用操作命令
1.对value操作的命令exists(key):确认一个key是否存在del(key):删除一个keytype(key):返回值的类型keys(pattern):返回满足给定pattern的所有keyrandomkey:随机返回key空间的一个keyrename(oldname,newname):将key由ol...原创 2018-05-15 21:56:35 · 3541 阅读 · 0 评论 -
redis info信息详解
为了方便对redis进行监控管理,一些公司会自己开发监控,或在已有的系统中添加功能。对redis info信息的获取是必须要处理的。Redis Info信息包括Server,Clients,Memory,Persistence,Stats,Replication,CPU,Commandstats,Cluster,Keyspace等,下边我们详细介绍各部分对应信息。Server: re...原创 2018-06-20 10:51:50 · 19733 阅读 · 2 评论 -
redis监控系统redis-stat应用
Redis需要监控才知道具体运行信息,虽然Redis也提供了info等命令行,但是毕竟不方便而且不能保存历史信息。redis-stat是一个用ruby写成的监控redis的程序,基于info命令获取信息,而不是通过monitor获取信息。安装ruby环境Redis-stat用ruby写成,第一步当然是安装ruby环境。很多习惯于使用centos的同学会直接使用yuminstall ru...原创 2018-06-27 17:14:50 · 4475 阅读 · 3 评论 -
史上最全Redis高可用技术解决方案大全
Redis常见的几种主要使用方式: Redis 单副本 Redis 多副本(主从) Redis Sentinel(哨兵) Redis Cluster Redis 自研 Redis各种使用方式的优缺点:1Redis单副本Redis 单副本,采用单个Redis节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数...原创 2018-08-24 13:01:08 · 438 阅读 · 0 评论 -
Redis的3个高级数据结构
平常接触最多的是5个入门级数据结构:String,Hash,List,Set,Sorted Set,本文介绍3个高级数据结构:Bitmaps,Hyperloglogs,GEO。Bitmapsbitmaps不是一个真实的数据结构。而是String类型上的一组面向bit操作的集合。由于strings是二进制安全的blob,并且它们的最大长度是512m,所以bitmaps能最大设置2^32个不同...原创 2018-08-24 13:04:32 · 5072 阅读 · 0 评论 -
10 个提升逼格的 Redis 命令
keys我把这个命令放在第一位,是因为笔者曾经做过的项目,以及一些朋友的项目,都因为使用keys这个命令,导致出现性能毛刺。这个命令的时间复杂度是O(N),而且redis又是单线程执行,在执行keys时即使是时间复杂度只有O(1)例如SET或者GET这种简单命令也会堵塞,从而导致这个时间点性能抖动,甚至可能出现timeout。强烈建议生产环境屏蔽keys命令(后面会介绍如何屏蔽)。...原创 2018-09-19 12:45:36 · 1456 阅读 · 0 评论 -
Redis的n种妙用,不仅仅是缓存
介绍redis是键值对的数据库,常用的五种数据类型为字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset)Redis用作缓存,主要两个用途:高性能,高并发,因为内存天然支持高并发应用场景分布式锁(string)setnx key value,当key不存在时,将 key 的值设为 value ,返回1。若...原创 2019-10-09 11:10:15 · 200 阅读 · 0 评论 -
Redis几个重要的健康指标
存活情况所有指标中最重要的当然是检查redis是否还活着,可以通过命令PING的响应是否是PONG来判断。连接数连接的客户端数量,可通过命令src/redis-cli info Clients | grep connected_clients得到,这个值跟使用redis的服务的连接池配置关系比较大,所以在监控这个字段的值时需要注意。另外这个值也不能太大,建议不要超过5...原创 2019-10-08 14:02:43 · 329 阅读 · 0 评论