memcache分布式部署的原理分析
摘要:下面本文章来给各位同学介绍memcache分布式部署的原理分析,希望此文章对你理解memcache分布式部署会有所帮助哦。今天在封装memcache操作类库过程中,意识到一直以来对memcache的使用都是局限在单台服务器的情况下,还没有使用到memcache的分布式部署。虽然知道memcache的...
阅读全文
posted @
2015-08-06 08:07
duanxz
阅读(2702)
推荐(0)
memcache 分布式,算法实现
摘要:memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。每个服务器都是完全独立和隔离的服务。memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。分布式原理这里多次使用了“分布式”这个词,但并未做详细解释。现在开始简单地介绍一下其...
阅读全文
posted @
2015-08-06 08:06
duanxz
阅读(370)
推荐(0)
Redis持久化--RDB和AOF
摘要:概述 Redis的强大性能很大程度上都是因为所有数据都是存储在内存中的,然而当Redis重启后,所有存储在内存中的数据将会丢失,在很多情况下是无法容忍这样的事情的。所以,我们需要将内存中的数据持久化!典型的需要持久化数据的场景如下: 将Redis作为数据库使用; 将Redis作为缓存服务器使用,但是
阅读全文
posted @
2015-08-04 18:28
duanxz
阅读(551)
推荐(0)
redis中的批量处理:批量命令或pipeline
摘要:一、传统的批量处理和pipeline对比二、pipeline 的优缺点三、pipeline的示例 1、jredis客户端使用pipeline 2、springboot中redisTemplate使用pipeline 一、传统的批量处理和pipeline对比 redis是一个cs模式的tcp serv
阅读全文
posted @
2015-08-04 18:27
duanxz
阅读(3234)
推荐(0)
为redis分配一个新的端口
摘要:为redis分配一个8888端口,操作步骤如下:1、$REDIS_HOME/redis.conf重新复制一份,重命名为redis8888.conf。2、打开redis8888.conf配置文件,找到port 6379这行,把6379改为8888。3、把redis8888.conf移到$REDIS_H...
阅读全文
posted @
2015-08-04 18:26
duanxz
阅读(330)
推荐(0)
redis配置实例及redis.conf详细说明
摘要:一、配置实例 1、redis修改持久化路径、日志路径、清缓存 redis修改持久化路径和日志路径 vim redis.conf logfile /data/redis_cache/logs/redis.log #日志路径 dir /data/redis_cache #持久化路径,修改后 记得要把du
阅读全文
posted @
2015-08-04 18:25
duanxz
阅读(1025)
推荐(0)
windows下安装redis
摘要:1、redis简介redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add
阅读全文
posted @
2015-08-04 18:24
duanxz
阅读(561)
推荐(0)
Redis内存存储结构分析--待整理
摘要:Redis: A persistent key-value database with built-in net interface written in ANSI-C for Posix systems 1 Redis 内存存储结构 本文是基于 Redis-v2.2.4 版本进行分析. 1.1 R
阅读全文
posted @
2015-08-04 18:24
duanxz
阅读(717)
推荐(0)
Redis常用命令手册:服务器相关命令
摘要:Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如各类语言包,这些命令都有对应的方法。下面将Redis提供的命令做一总结。 相关文章:Redis常用命令手册:键值相关命令 1、ping 测试连接是否存活: re...
阅读全文
posted @
2015-08-04 13:56
duanxz
阅读(452)
推荐(0)
Redis Sentinel机制与用法
摘要:概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个ma
阅读全文
posted @
2015-08-04 13:55
duanxz
阅读(10007)
推荐(2)
Jedis的Sharded源代码分析
摘要:概述 Jedis是Redis官方推荐的Java客户端,更多Redis的客户端可以参考Redis官网客户端列表。当业务的数据量非常庞大时,需要考虑将数据存储到多个缓存节点上,如何定位数据应该存储的节点,一般用的是一致性哈希算法。Jedis在客户端角度实现了一致性哈希算法,对数据进行分片,存储到对应的不
阅读全文
posted @
2015-08-04 13:54
duanxz
阅读(791)
推荐(0)
Jedis的JedisSentinelPool源代码分析
摘要:概述 Jedis是Redis官方推荐的Java客户端,更多Redis的客户端可以参考Redis官网客户端列表。Redis-Sentinel作为官方推荐的HA解决方案,Jedis也在客户端角度实现了对Sentinel的支持,主要实现在JedisSentinelPool.java这个类中,下文会分析这个
阅读全文
posted @
2015-08-04 13:53
duanxz
阅读(1348)
推荐(0)
Redis GEO 特性在 LBS 中的应用总结
摘要:什么是LBS LBS(Location Based Service),基于位置的服务。 Redis和GEO Redis 是最热门的 nosql 数据库之一,它的最大特点就是快。所以在 LBS 这种需要大量写入和查询的应用场景中,用它来存储用户的地理位置信息最适合不过了。 Redis 的 GEO 是
阅读全文
posted @
2015-08-04 13:53
duanxz
阅读(1423)
推荐(0)
我们究竟什么时候可以使用Ehcache缓存
摘要:一、Ehcache是什么 EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力。 二、Ehcache的使用场景是什么 1、首先最主要就是页面缓存。 网站页面的数据来源非常广泛的,大多数来自不同的对象,而且
阅读全文
posted @
2015-08-04 13:52
duanxz
阅读(1055)
推荐(0)
redis发布/订阅模式
摘要:其实在很多的MQ产品中都存在这样的一个模式,我们常听到的一个例子 就是邮件订阅的场景,什么意思呢,也就是说100个人订阅了你的博客,如果博主发表了文章,那么100个人就会同时收到通知邮件,除了这个 场景还能找到其他场景么,当然有啦,你想想,如果你要在内存里面做一个读写分离的程序,为了维持数据的完整性
阅读全文
posted @
2015-08-04 13:49
duanxz
阅读(4453)
推荐(1)
Redis入门教程:特性及数据类型的操作
摘要:https://www.cnblogs.com/ysocean/p/9102811.html 虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍。是一个很不错的Redis入门教程。
阅读全文
posted @
2015-08-04 13:36
duanxz
阅读(394)
推荐(0)
mysql 索引最左原则原理
摘要:索引本质是一棵B+Tree,联合索引(col1, col2,col3)也是。 其非叶子节点存储的是第一个关键字的索引,而叶节点存储的则是三个关键字col1、col2、col3三个关键字的数据,且按照col1、col2、col3的顺序进行排序。 (图以innodb引擎为例,对应地址指的是数据记录的地址
阅读全文
posted @
2014-11-26 14:04
duanxz
阅读(2718)
推荐(0)
缓存与数据库一致性之三:缓存穿透、缓存雪崩、key重建方案
摘要:一、缓存穿透预防及优化 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,但是出于容错的考虑,如果从存储层查不到数据则不写入缓存层,如图 11-3 所示整个过程分为如下 3 步: 缓存层不命中 存储层不命中,所以不将空结果写回缓存 返回空结果 缓存穿透将导致不存在的数据每次请求都要到存
阅读全文
posted @
2014-06-17 09:15
duanxz
阅读(8606)
推荐(4)
缓存与数据库一致性之一:缓存更新设计
摘要:一、缓存更新场景介绍 缓存是一种提高系统读性能的常见技术,对于读多写少的应用场景,我们经常使用缓存来进行优化。 例如对于用户的余额信息表account(uid, money),业务上的需求是: (1)查询用户的余额,SELECT money FROM account WHERE uid=XXX,占9
阅读全文
posted @
2014-06-13 09:49
duanxz
阅读(9811)
推荐(4)
分布式锁实现:数据库、redis、zookeeper、memcache
摘要:们知道分布式锁的特性是排他、避免死锁、高可用。分布式锁的实现可以通过数据库的乐观锁(通过版本号)或者悲观锁(通过for update)、Redis的setnx()命令、Zookeeper(在某个持久节点添加临时有序节点,判断当前节点是否是序列中最小的节点,如果不是则监听比当前节点还要小的节点。如果是
阅读全文
posted @
2014-01-07 18:51
duanxz
阅读(1164)
推荐(0)