redis
文章平均质量分 59
qian_348840260
这个作者很懒,什么都没留下…
展开
-
redis 最佳实践分享
Redis为什么变慢了?常见延迟问题定位与分析阿里巴巴官方最新Redis开发规范!原创 2021-03-17 10:32:34 · 108 阅读 · 0 评论 -
美团针对Redis Rehash机制的探索和实践
背景Squirrel(松鼠)是美团技术团队基于Redis Cluster打造的缓存系统。经过不断的迭代研发,目前已形成一整套自动化运维体系,涵盖一键运维集群、细粒度的监控、支持自动扩缩容以及热点Key监控等完整的解决方案。同时服务端通过Docker进行部署,最大程度的提高运维的灵活性。分布式缓存Squirrel产品自2015年上线至今,已在美团内部广泛使用,存储容量超过60T,日均调用量也超过万亿次,逐步成为美团目前最主要的缓存系统之一。随着使用的量和场景不断深入,Squirrel团队也不断发现Re转载 2021-03-11 11:36:07 · 177 阅读 · 0 评论 -
Redis 哨兵集群模式下各节点之间的通讯机制
这篇文章,我们来看Redis是如何实现故障自动恢复的,它的实现正是要基于之前所讲的数据持久化和数据多副本而做的。Redis作为非常火热的内存数据库,其除了具有非常高的性能之外,还需要保证高可用,在故障发生时,尽可能地降低故障带来的影响,Redis也提供了完善的故障恢复机制:哨兵。下面就来具体来看看Redis的故障恢复是如何做的,以及其中的原理。部署模式Redis在部署时,可以采用多种方式部署,每种部署方式对应不同的可用级别。单节点部署:只有一个节点提供服务,读写均在此节点,此节点宕机则数转载 2021-03-10 17:54:18 · 828 阅读 · 0 评论 -
redis性能指标数据
基础:单机 4G内存 1000M带宽 redis版本:5.0.7测试: 单机redis命令avg rt维度: 100000request,200客户端并发,value字节数分别为20000|2000|200|20结论: 1. string类型get请求单机qps 10W,set|list|zset|hash 6K上下 2. string类型的value值大小会影响到avg rt,2000字节以下影响很小, 2000以上影响较明显(这个影响其实并非redis本身的性能...原创 2020-12-04 18:46:29 · 1293 阅读 · 0 评论 -
基于redis的延迟消息队列设计
需求背景用户下订单成功之后隔20分钟给用户发送上门服务通知短信订单完成一个小时之后通知用户对上门服务进行评价业务执行失败之后隔10分钟重试一次类似的场景比较多 简单的处理方式就是使用定时任务 假如数据比较多的时候 有的数据可能延迟比较严重,而且越来越多的定时业务导致任务调度很繁琐不好管理。队列设计目前可以考虑使用rabbitmq来满足需求 但是不打算使用,因为目前太多的业务使用了另外的MQ中间件。...转载 2018-07-14 12:10:53 · 286 阅读 · 0 评论 -
Redis过期时间
过期通知的发送时间Redis 使用以下两种方式删除过期的键:当一个键被访问时,程序会对这个键进行检查,如果键已经过期,那么该键将被删除。 底层系统会在后台渐进地查找并删除那些过期的键(随机抽样),从而处理那些已经过期、但是不会被访问到的键。当过期键被以上两个程序的任意一个发现、 并且将键从数据库中删除时, Redis 会产生一个expired通知。Redis 并不保证生存时间(TTL)变为0的键会立即被删除: 如果程序没有访问这个过期键, 或者带有生存时间的键非常多的话, 那么在键的...原创 2020-05-27 19:11:29 · 547 阅读 · 0 评论 -
GenericObjectPool 运行情况监控
1. 为了便于区分设置参数 "jmxNamePrefix":"jedisPool"2.GenericObjectPool和BaseGenericObjectPool重点关注BaseGenericObjectPool.jmxRegister方法3.RedisConnectionMonitorService/* * Copyright 2015-2101 Shouqi Limousine & chauffeur Group. * * Licensed under the ...原创 2020-05-19 20:59:11 · 781 阅读 · 0 评论 -
扩展Redis的Jedis客户端,哨兵模式读请求走Slave集群
Redis哨兵模式,由Sentinel节点和Redis节点组成,哨兵节点负责监控Redis的健康状况,负责协调Redis主从复制的关系。本文不详细讨论Redis哨兵模式,关于哨兵的详细介绍可以参考(https://blog.csdn.net/u010297957/article/details/55050098)在使用哨兵模式以后,客户端不能直接连接到Redis集群,而是连接到哨兵集...转载 2020-04-24 18:05:10 · 470 阅读 · 0 评论 -
Jedis cluster集群初始化源码剖析
环境jar版本:spring-data-redis-1.8.4-RELEASE.jar、jedis-2.9.0.jar测试环境:Redis 3.2.8,八个集群节点applicationContext-redis-cluster.xml 配置文件:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="htt...转载 2020-04-24 17:25:55 · 741 阅读 · 0 评论 -
源码走读-从JedisCluster的设计来发现对象池的奥秘
JedisCluster究竟是如何获得一个connection的?内部对象池又是如何工作的?今天我们就去JedisCluster的源码看看,一探究竟。好,先从JedisCluster开始。JedisCluster可以看到JedisCluster中除了构造函数之外,就是各种命令。建立连接是从构造函数开始,而JedisCluster作为一个子类一般是不会去直接去负责连接这件事情的,...转载 2020-04-18 17:59:10 · 286 阅读 · 0 评论 -
JedisPool资源池优化
背景合理的JedisPool资源池参数设置能为业务使用Redis保驾护航,本文将对JedisPool的使用、资源池的参数进行详细说明,最后给出“最合理”配置。一、使用方法以官方的2.9.0为例子(Jedis Release),Maven依赖如下:<dependency> <groupId>redis.clients</groupId>...转载 2020-02-25 17:02:09 · 275 阅读 · 0 评论 -
云数据库memcached之热点key问题解决方案
转载地址: https://yq.aliyun.com/articles/8547背景在分布式K-V存储系统中,对某个key进行读写时,会根据该key的hash计算出一台固定的server来存取该K-V,如果集群不发生服务器数量变化,那么这一映射关系就不会变化。云数据库memcached就是这样一种K-V缓存系统。因此在实际应用中,某些高峰时段,有的云数据库me转载 2016-04-19 11:39:20 · 1107 阅读 · 0 评论 -
redis vs memcached
传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 2.Memcached转载 2015-11-16 16:20:48 · 508 阅读 · 0 评论 -
String.getBytes()和对象序列化
public void setex(final byte[] key, final int seconds, final byte[] value) { wRedisManager.request(new RedisCallback() { @Override public String doInRequest(Jedis je原创 2015-05-20 02:19:01 · 2346 阅读 · 1 评论 -
session共享经验分享
session共享1.增加jar包丢到CATALINA.HOME/lib ======================================tomcat-catalina-7.0.57.jartomcat-jasper-7.0.57.jartomcat-servlet-api-7.0.57.jarjedis-2.6.2.jarcommons-pool2-2原创 2015-05-20 01:59:17 · 1388 阅读 · 0 评论 -
windows下安装redis(1)
1:首先下载redis:redis-2.0.2.zip (32 bit),解压。从下面地址下:http://code.google.com/p/servicestack/wiki/RedisWindowsDownload,看到下面有redis-2.0.2.zip (32 bit),就是他了,下载完成后,解压到D:\redis-2.0.2.2:创建redis.conf文件:这是一原创 2013-06-18 10:54:28 · 620 阅读 · 0 评论 -
Redis的键值设置(4)
tag在互联网应用里尤其多见,首先看下面的关系型数据表:Book表:idnameauthor1The Ruby Programming LanguageMark Pilgrim2Ruby on railDavid Flanagan3转载 2013-06-18 14:01:29 · 898 阅读 · 0 评论 -
Redis内存存储结构(5)
1.zipmap优化hash:前面谈到将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新建一个hash对象时开始是用zipmap来存储的。这个zipmap其实并不是hash table,但是zipmap相比正常的hash实现可以节省不少hash本身需要的一些元数据存储开销。尽管zipmap的添加,删除,查找都是O(n),但是由于一般对象的field数转载 2013-06-18 14:09:12 · 808 阅读 · 0 评论 -
Redis数据类型及相关命令(3)
Redis支持的种数据类型包括string、list 、set 、sorted set 和hash。Redis相关的命令可以查看:http://redis.io/commands 这是官方的命令使用手册,也有中文翻译的:http://redis.readthedocs.org/en/2.4/index.html 1. keys:redis本质上一个key-value store,所转载 2013-06-18 13:59:08 · 674 阅读 · 0 评论 -
Redis + Jedis + Spring
参考一下这篇文章: http://snowolf.iteye.com/blog/1666908也可以借鉴一下这个的思路,仅供参考:package com.ttpod.cache.impl;import com.ttpod.cache.Cache;import org.springframework.dao.DataAccessException;import o原创 2013-06-19 17:02:53 · 4073 阅读 · 0 评论 -
redis入门指南 学习笔记(二) Redis的多数据库
Redis是一个字典结构的存储服务器,而实际上一个原创 2014-05-05 16:05:16 · 10753 阅读 · 0 评论 -
redis入门指南(三) redis的事务和回滚
X原创 2014-05-15 11:38:02 · 9152 阅读 · 0 评论 -
redis入门指南 学习笔记(一) redis与memcached优劣
在性能上,Redis是单线程模型原创 2014-05-05 15:49:33 · 948 阅读 · 0 评论 -
win7 安装 memcached
win7 安装 memcached1. 下载 memcached-win32-1.4.4-14.zip ,里面包含6个文件,将解压后的文件夹随便放在什么位置。如果需要win64版,下载 memcached-win64-1.4.4-14.zip ,里面有个三个文件,用这三个文件覆盖win32下同名文件。2. 以管理员身份运行 cmd.exe,并转至memcached所在文件夹,比如: c转载 2015-03-19 15:04:45 · 458 阅读 · 0 评论 -
memcached监控
特征键长度最大为250字节memcached内部不会监视记录是否过期,而是在get时查看记录的时间戳,检查记录是否过期。 这种技术被称为lazy(惰性)expiration。因此,memcached不会在过期监视上耗费CPU时间。基于libevent的事件处理Slab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块, 以完全解决内存碎片问题。Page:分配转载 2015-03-19 16:10:14 · 566 阅读 · 0 评论 -
最大的Redis集群:新浪Redis集群揭秘
http://www.linuxeden.com/html/itnews/20131010/144377.html前言Tape is Dead,Disk is Tape,Flash is Disk,RAM Locality is King. — Jim GrayRedis不是比较成熟的Memcache或者Mysql的替代品,是对于大型互联网类转载 2015-04-27 10:54:45 · 482 阅读 · 0 评论 -
基于Redis Sentinel的Redis集群(主从&Sharding)高可用方案
http://www.07net01.com/linux/jiyuRedis_SentineldeRedisjiqun_zhucong_amp_amp_Sharding_gaokeyongfangan_720296_1393002463.html本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.转载 2015-05-09 15:16:58 · 495 阅读 · 0 评论 -
Jedis连接池配置
http://blog.sina.com.cn/s/blog_67196ddc0101dkz2.htmlhttp://www.cnblogs.com/tankaixiong/p/4048167.html所需jar:jedis-2.1.0.jar和commons-pool-1.5.4.jarJedis操作步骤如下:1->获取Jedis实例需要从JedisPoo转载 2015-05-09 14:26:53 · 830 阅读 · 0 评论 -
Redis客户端访问(2)
Redis的java客户端driver有三类:JDBC-RedisJRedisJedis我们这里使用Jedis访问,客户端Jar包地址:https://github.com/xetorthio/jedis/downloads一个简单的实例:package com.jd.redis.client;import redis.clien原创 2013-06-18 11:44:02 · 1060 阅读 · 0 评论