
redis
文章平均质量分 93
风清扬-独孤九剑
后端技术专家
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
golang 归并回源策略
下面是我根据业务需求画了一个架构图,没有特别之处,很普通,都是我们常见的中间件,都是一些幂等性GET 请求。有一个地方很有意思,从service 分别有10000 qps 请求到Redis,并且它们的key 是一样的。这样一个简单的业务,Redis 就需要承担20000qps,此时监控 redis 我们会发现有一个峰值,如果Redis 没有值,这些流量会穿透到PostgreSQL,监控PostgreSQL也有一个峰值。原创 2024-04-04 16:53:04 · 1154 阅读 · 0 评论 -
redis 缓冲区详解(性能优化缓冲区优化)
在我的《Redis 为啥那么快》这篇文章中,详细总结了Redis 为啥那么快。今天当我要详细阐述Redis 的缓冲区时,意识到应该加上Redis 的缓冲区。我们假设没有Redis 的缓冲区,客户端向服务端发送数据,必须等待Redis 的服务端去处理,大家都知道Redis 是单线程的,虽然这么说不是很准确,为了描述,也只好这么说了。如果没有及时处理,那客户端不就阻塞了吗,有多个客户端,redis 阻塞的时间不是更长了吗?原创 2024-03-11 13:49:37 · 2041 阅读 · 0 评论 -
Redis 内存的优化
我想讲一下怎么提高Redis 内存的利用率,redis 的数据是保存在内存中。对内存的利用率低,意味着存的数据很少,并不意味着就没有内存了,而是这些内存没法利用了,后果就是会自动删除一些key,删除key 大量的内存释放,同时会把释放的内存放到一个空的链表里,如果操作系统开始了swap,会把数据保存在磁盘。这些都会影响redis 性能。上面讲了内存利用率低会造成什么连锁的反应,内存利用率低就是内存碎片,接下来,我将详细讲述什么是内存碎片,对于Redis 我们该怎么解决内存利用率低的问题。原创 2024-03-09 16:06:54 · 980 阅读 · 0 评论 -
redis 性能优化三
如果Redis 没有执行大量的慢查询,同时也没有删除大量的过期的keys,那么我们该怎么办呢?那么我们是不是就应该关注影响性能的其他机制了,也就是文件系统和操作系统了。Redis 会把数据持久化到磁盘,这个过程依赖文件系统来完成,文件系统把数据写回磁盘的机制,会直接影响到Redis 持久化效率。而且,在持久化的过程中,Redis 也还在接收其他请求,持久化的效率高低又会影响到Redis 处理请求的性能。原创 2024-03-07 18:54:00 · 1070 阅读 · 0 评论 -
redis 性能优化二
性能优化的第二篇文章,将重点讲一下Redis 的响应延迟,响应延迟如何对redis 进行优化。这个延迟不是说一个命令或者几个命令变慢了,延迟了几秒,就说Redis 变慢了。在不同的软硬件环境下,Redis 本身的绝对性能并不相同。要根据Redis 的基线性能做判断。所谓的基线性能呢,也就是一个系统在低压力、无干扰下的基本性能,这个性能只由当前的软硬件配置决定。怎么确定基线性能呢?原创 2024-03-07 12:03:52 · 1392 阅读 · 0 评论 -
redis 性能优化一
说到redis 性能优化,优化的目的是什么?提高响应,减少延迟。就要关注两点,一是尾延迟,二是Redis 的基线性能。只有指标,我们的优化,才有意义,才能做监控以及报警。这些指标需要借助一定工具进行压力测试,高于这个值就说明需要优化了,这些值,不是绝对的,不同的服务器配置,都会有一些变化,下面我将介绍这两点。原创 2024-03-06 23:16:44 · 1101 阅读 · 0 评论 -
redis 为啥那么快
我们一直说redis 是单线程的,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。其他的功能,比如持久化、异步删除、集群数据同步,是由子线程完成的。所以说redis 是单线程,是主路径上的操作是单线程,并不代表只有一个线程。这一点大家要注意,接下来,我会详细给大家讲解redis 为啥是单线程以及它为啥那么快。原创 2024-03-05 21:11:16 · 878 阅读 · 0 评论 -
redis 为什么会阻塞
大家对redis 比较熟悉吧,只要做项目都会用到redis,提高系统的吞吐。小米商城抢购高峰18k的qps,redis 在其中扮演着非常重要的角色。有时我们操作不当,redis 阻塞了,影响了整个业务。我记得2018年的时候,顺丰就出现了一个事故,有同学在线上对redis的一个操作,直接阻塞了,影响公司的整个业务,后面这位同学被辞退了。如果它对redis比较了解的话,也不会出现这样的事故。redis 为什么会阻塞,与它的本身设计有一定关系。原创 2024-03-02 16:01:47 · 1463 阅读 · 0 评论 -
Redis String 类型底层揭秘
Redis 的 string 是个 “万金油” ,这么评价它不为过. 它可以保存int,float 甚至二进制也可以保存。对于key,value 这样的单值,查询以及插入都是O(1)时间复杂度。满脑子都是它的优点,真的就那么好吗?如果不了解它的底层结构,会有很多坑的,下面让我们细细说来。有这样一个需求,我们要开发一个图片存储系统,要求这个系统能快速地记录图片ID和图片在存储系统中保存的ID(图片存储对象ID)。同时还更够根据图片ID快速查询图片存储对象ID。原创 2024-02-27 15:57:55 · 1500 阅读 · 0 评论 -
redis GEO 类型原理及命令详解
我们有一个需求是用户搜索附近的店铺,就是所谓的位置信息服务(Location-Based Service,LBS)的应用。这样的相关服务我们每天都在接触,用滴滴打车,中午去美团订外卖等等。当我们用这些服务方便我们的生活的时候,大家有没有想过是怎么实现的。目前市场上很多软件比如Es,Redis 都提供了类似的功能,他们底层都是用的GeoHash 编码,只不过底层的数据结构不同。今天主要讲的是Redis 的 Geo 如何实现这个功能。原创 2024-02-22 14:43:59 · 4618 阅读 · 1 评论 -
如何在ubuntu 系统上为 php 加上 redis 扩展
最近一个项目,,想用redis 作为数据库,php是不待redis 扩展,必须安装,怎么安装呢?我在网上找的很多资料发现都是预编译的,但都没成功,于是就找了另外一种方法是不需要编译直接安装就可以了。sudo apt-get install git-core 安装好后重启nginx ,php5-fpm,重启nginx sudo /etc/init.d/nginx restart原创 2014-12-18 01:45:10 · 1044 阅读 · 0 评论 -
php 连接redis 数据库单利类
<?phpclass RedisConnect{ /** * Redis的ip * * @var string */ const REDISHOSTNAME = "127.0.0.1"; /** * Redis的port * * @var int */ const RED原创 2014-12-16 20:20:13 · 2106 阅读 · 0 评论