缓存
xiaomin_____
努力~~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
redis 的两种持久化方式及原理
Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。 Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以...原创 2016-03-10 18:49:15 · 123 阅读 · 0 评论 -
redis3.0.0 集群安装详细步骤
Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 ...原创 2016-03-20 10:15:29 · 128 阅读 · 0 评论 -
reids jedis事务处理
当前使用的redis版本?12#redis-cli -vredis-cli 2.6.4MULTI 、EXEC 、DISCARD 和WATCH 是 Redis 事务的基础 1.MULTI 命令用于开启一个事务,它总是返回 OK 。 MULTI 执行之后,客户端可以继续向服务器发送任意多条命令,这些命令不会立即被执行...原创 2016-03-21 10:18:43 · 115 阅读 · 0 评论 -
Jedis使用总结【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】 ...
http://www.blogjava.net/masfay/archive/2012/07/03/382080.html 前段时间细节的了解了Jedis的使用,Jedis是redis的java版本的客户端实现。本文做个总结,主要分享如下内容:【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】好了,一个一个来。一、 Pipeline官...原创 2016-03-21 10:19:26 · 126 阅读 · 0 评论 -
redis 事务总结
Redis 通过 MULTI 、 DISCARD 、 EXEC 和 WATCH 四个命令来实现事务功能, 本章首先讨论使用 MULTI 、 DISCARD 和 EXEC 三个命令实现的一般事务, 然后再来讨论带有 WATCH 的事务的实现。因为事务的安全性也非常重要, 所以本章最后通过常见的 ACID 性质对 Redis 事务的安全性进行了说明。事务事务提供了一种“将多个命令打...原创 2016-03-21 10:19:53 · 237 阅读 · 2 评论 -
redis 事务 demol
redis对事务的支持目前还比较简单。redis只能保证一个client发起的事务 中的命令可以连续的执行,而中间不会插入其他client的命令。 由于redis是单线程来处理所有client的请求的所以做到这点是很容易的。一般情况下redis在接受到一个client发来的命令后会立即处理并 返回处理结果,但是当一个client在一个连接中发出multi命令有,这个连接会进入一个事务上下文...原创 2016-03-22 11:12:00 · 114 阅读 · 0 评论 -
Redis集群技术分类
前言诚如开篇文章所言,高效运维包括管理的专业化和技术的专业化。前两篇我们主要在说些管理相关的内容,本篇说一下技术专业化。希望读者朋友们能适应这个转换,谢谢。互联网早在几年前就已进入Web 2.0时代,对后台支撑能力的要求,提高了几十倍甚至几百倍。在这个演化过程中,缓存系统扮演了举足轻重的角色。运维进化到今天,已经不是重复造轮子的时代。所以,我们在架构优化和自动化运维中,可以尽可能地...原创 2016-03-22 11:13:45 · 141 阅读 · 0 评论 -
spring-data-redis + Jedis配置文件
相比网上的,新版本好像有些字段更改了名字,不知是否正确,欢迎指正application.xml <!-- spring data redis --> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConn...原创 2016-03-23 10:12:56 · 161 阅读 · 0 评论 -
Apache Ignite(一):简介以及和Coherence、Gemfire、Redis等的比较
1.Ignite简介Apache Ignite 内存数据组织框架是一个高性能、集成化和分布式的内存计算和事务平台,用于大规模的数据集处理,比传统的基于磁盘或闪存的技术具有更高的性能,同时他还为应用和不同的数据源之间提供高性能、分布式内存中数据组织管理的功能。 2.Ignite历史Ignite来源于尼基塔·伊万诺夫于2007年创建的GridGain系统公司开发的GridGain软...原创 2016-03-26 08:37:05 · 318 阅读 · 0 评论 -
Redis Cluster:Too many Cluster redirections错误
Redis Cluster:Too many Cluster redirections异常 一、现象: 我们的redis私有云,使用了Redis Cluster 3.0 + jedis 2.7.2后,别人在使用时候,业务的日志中发现了一些异常(Too many Cluster redirections) 二、jedis源码分析: 这段异常是在...原创 2017-06-15 19:01:55 · 405 阅读 · 0 评论 -
redis常用命令、常见错误、配置技巧等分享
1. Redis查看当前所有的key复制代码代码如下:KEYS *2. 查看当前redis的配置信息复制代码代码如下:CONFIG GET *3. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands th...原创 2017-06-23 17:00:55 · 167 阅读 · 0 评论 -
Redis云管理平台 CacheCloud
一、CacheCloud是做什么的CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少开发人员的运维成本和误操作,提高机器的利用率,提供灵活的伸缩性,提供方便的接入客户端。二、CacheCloud提供哪些功能...原创 2016-03-20 10:12:59 · 252 阅读 · 0 评论 -
Redis事务的分析及改进
Redis事务的分析及改进Redis的事务特性数据ACID特性满足了几条? 为了保持简单,redis事务保证了其中的一致性和隔离性; 不满足原子性和持久性;原子性redis事务在执行的中途遇到错误,不会回滚,而是继续执行后续命令;(违反原子性)事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作; 中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令...原创 2016-03-20 10:08:17 · 112 阅读 · 0 评论 -
redis事务中的WATCH
在Redis的事务中,WATCH命令可用于提供CAS(check-and-set)功能。假设我们通过WATCH命令在事务执行之前监控了多个Keys,倘若在WATCH之后有任何Key的值发生了变化,EXEC命令执行的事务都将被放弃,同时返回Null multi-bulk应答以通知调用者事务执行失败。例如,我们再次假设Redis中并未提供incr命令来完成键值的原子性递增,如果要实现该功能,我们只能...原创 2016-03-10 18:51:29 · 150 阅读 · 0 评论 -
Redis实战系列(1) 运行多个实例以充分发挥多核处理器的能力
我们知道Redis是用"单线程-多路复用io模型"来实现高性能的内存数据服务的,这种机制避免了使用锁,但是同时这种机制在进行sunion之类的比 较耗时的命令时会使redis的并发下降。因为是单一线程,所以同一时刻只有一个操作在进行,所以,耗时的命令会导致并发的下降,不只是读并发,写并发也 会下降。而单一线程也只能用到一个cpu核心,所以可以在同一个多核的服务器中,可以启动多个实例,组成mast...原创 2016-03-17 10:45:30 · 260 阅读 · 0 评论 -
Redis分区
分区分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集。 分区的优势通过利用多台计算机内存的和值,允许我们构造更大的数据库。通过多核和多台计算机,允许我们扩展计算能力;通过多台计算机和网络适配器,允许我们扩展网络带宽。 分区的不足redis的一些特性在分区方面表现的不是很好:涉及多个key的操作通常是不被支持的。举例来说,...原创 2016-03-17 10:50:51 · 109 阅读 · 0 评论 -
基于Jedis实现Redis分片的理解
一 理解前提 分片是为了把鸡蛋放到几个篮子里,而Dynamo型的分片加备份可以再把数据几份,每一份copy放到不同的节点上。 Redis在数据容灾处理方面可以通过服务器端配置Master-Slave模式来实现,而在分布式集群方面目前只能通过客户端工具来实现一致性哈希分布存储,即key分片存储。Redis可能会在3.0版本支持服务器端的分...原创 2016-03-17 11:08:03 · 186 阅读 · 0 评论 -
Jedis分片连接池(分布式)
一下内容来自网络,但是很多细节没有写出来,所以我经过自己琢磨,终于找到原因了。Redis-2.4.15目前没有提供集群的功能,Redis作者在博客中说将在3.0中实现集群机制。目前Redis实现集群的方法主要是采用一致性哈稀分片(Shard),将不同的key分配到不同的redis server上,达到横向扩展的目的。下面来介绍一种比较常用的分布式场景:在读写操作比较均匀且实时性要求...原创 2016-03-17 14:12:02 · 152 阅读 · 0 评论 -
Windows下安装并设置Redis
Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定。详情请参考:http://redis.io/download 但有时候又想在windows下折腾下Redis,可以从redis下载页面看到如下提示(在页面中搜索 "windows"):[plain] view plain copyWin64 Uno...原创 2016-03-19 09:48:30 · 125 阅读 · 0 评论 -
redis中各种数据类型对应的jedis操作命令
http://www.fwqtg.net/redis%E4%B8%AD%E5%90%84%E7%A7%8D%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E5%AF%B9%E5%BA%94%E7%9A%84jedis%E6%93%8D%E4%BD%9C%E5%91%BD%E4%BB%A4.html 一、常用数据类型简介: redis常用五种数据类...原创 2016-03-19 09:53:49 · 629 阅读 · 0 评论 -
redis cluster jedis client 示例
redis cluster 基本的redis操作示例: ?12345678910111213141516171819202122232425262728293031323334353637383940414...原创 2016-03-19 09:59:40 · 148 阅读 · 0 评论 -
Redis 到底有多快[译文]
原文地址 http://redis.io/topics/benchmarks。拖了一个半月的稿子~Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)。你可以使用 redis-benchmark -h 来查看基准参数。以下参数被支持: Usage: redis-benchm...原创 2016-03-20 10:01:45 · 171 阅读 · 0 评论 -
redis服务器模型分析
redis的服务器程序采用的是单进程,单线程的模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。 下图是整个服务器模型原理图。 首先我们来说明下整个服务器初始化的过程: 1.初始化asEventLoop。 2.初始化服务器socket监听,并且绑定acceptTcpHandler事件函数,以应对建立客户端连接的请求。 3.绑定beforesleep函数到eventL...原创 2016-03-20 10:04:15 · 130 阅读 · 0 评论 -
redis 慢日志 slowlog
1 slowlog是什么redis的slowlog是redis用于记录记录慢查询执行时间的日志系统。由于slowlog只保存在内存中,因此slowlog的效率很高,完全不用担心会影响到redis的性能。Slowlog是Redis从2.2.12版本引入的一条命令。 2 slowlog设置参考 http://redis.readthedocs.org/en/latest/serve...原创 2017-06-23 17:01:08 · 164 阅读 · 0 评论 -
Redis性能问题排查解决手册(七)
阅读目录:性能相关的数据指标内存使用率used_memory命令处理总数total_commands_processed延迟时间内存碎片率回收key总结性能相关的数据指标通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。info命令输出的数据...原创 2017-06-23 18:01:18 · 126 阅读 · 0 评论 -
如何优雅地删除Redis大键
关于Redis大键(Key),我们从[空间复杂性]和访问它的[时间复杂度]两个方面来定义大键。前者主要表示redis键的占用内存大小;后者表示Redis集合数据类型(set/hash/list/sorted set)键,所含有的元素个数。以下两个示例:1个大小200MB的String键(String Object最大512MB);内存空间角度占用较大1个包含100000000(1kw)个...原创 2017-07-18 11:01:14 · 174 阅读 · 0 评论 -
Redis Scan命令
Redis Scan命令】SCAN cursor [MATCH pattern] [COUNT count]SCAN 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代(incrementally iterate)一集元素(a collection of elements):SCAN 命令用于迭代当前数据库中的数据库键。SSCAN 命令...原创 2017-07-18 11:06:21 · 173 阅读 · 0 评论 -
RedisCluster的scan命令
在redis中是支持使用通配符的使用,例如‘?’或是’’,所以我们在获取redis里面的某个db里面的所有数据可以用 `keys `这样的指令来实现。但是存在一个问题就是这样做的话,在数据量很大的情况下效率是很不理想的,一般情况下redis的slowlog中总会少不了keys xxx这种类型操作(如果有人在其上面执行该操作的话) scan命令可以帮助我们解决使用keys命令遍历大量数据而...原创 2017-07-18 11:30:42 · 677 阅读 · 0 评论 -
redis集群 删除匹配key
for i in `redis-cli -c -h ip -p 7002 scan 0 match aa* COUNT 1000 | awk -F '"' '{print $1}'`; do redis-cli -c -h ip -p 7002 del $i; done原创 2017-07-18 14:17:06 · 618 阅读 · 1 评论 -
Redis持久化存储(AOF与RDB两种模式)
Redis中数据存储模式有2种:cache-only,persistence; cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式; persistence即为内存中的数据持久备份到磁盘文件,在服务重启后可以恢复,此模式下数据相对安全。对于persistence持久...原创 2017-08-08 17:32:39 · 129 阅读 · 0 评论 -
Redis监控方案
Redis介绍Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表、哈希、集合和有序集合5种。支持在服务器端计算集合的并、交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半...原创 2017-09-20 13:57:59 · 148 阅读 · 0 评论 -
redis学习之集群报错Node is not empty
写在前面继上一篇redis3.0.x集群搭建完成之后,当然要用客户端JedisCluster简单测试一下集群啦,这样就要将redis.conf里bind 127.0.0.1改成bind +真机ip(我的192.168.161.131),下面简单地将测试中遇到的问题及解决办法记录在本篇。遇到的问题及解决办法在redis.conf里bind 真机ip后,接着重新执行每个redis.con...原创 2017-09-26 13:43:57 · 220 阅读 · 0 评论 -
redis学习笔记(16)---过期键的设置与删除
expires 在之前数据库的结构中可以看到,每一个数据库除了用变量dict来保存所有的key-value对之外,还通过一个expires成员变量来保存所有设置了过期时间的keytypedef struct redisDb { dict *dict; /* 数据库 */ dict *expires; /* 过期键集合 */ ........原创 2017-11-04 18:37:33 · 165 阅读 · 0 评论 -
keepalived+redis 高可用redis主从解决方案
keepalived+redis 高可用redis主从解决方案背景介绍:目前,Redis还没有一个类似于MySQL Proxy或Oracle RAC的官方HA方案。#Redis 2.8版开始正式提供名为Sentinel的主从切换方案(后面附上,未测试)因此,如何在出现故障时自动转移是一个需要解决的问题。通过对网上一些资料的搜索,有建议采用HAProxy或Keepalived来实现的,事...原创 2017-11-09 09:50:52 · 157 阅读 · 0 评论 -
redis 超时失效key 的监听触发
redis 的key失效移除事件监听 1. 事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发,故需要订阅 __keyevent@0__:expired 通道0表示db0 根据自己的dbindex选择合适的数字 2. 修改 redis.conf 文件 修改 notify-keyspace-events Ex 3. 重启redis , 即可测...原创 2017-11-10 09:26:30 · 372 阅读 · 0 评论 -
EhCache版Hello World
本篇是EhCache系列的第一篇,总体介绍使用EhCache缓存进行CRUD的API的基本使用,更细节的内容包括EhCache源代码和设计、实现原理在接下来的文章中进行介绍环境准备1.新建Maven项目2 .添加EhCache的Maven依赖<dependency> <groupId>net.sf.ehcache</g...原创 2017-07-05 13:45:45 · 127 阅读 · 0 评论 -
redis之如何配置jedisPool参数
如何配置Pool的参数JedisPool的配置参数很大程度上依赖于实际应用需求、软硬件能力,JedisPool的配置参数大部分是由JedisPoolConfig的对应项来赋值的。 maxActive:控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此...原创 2017-07-03 14:27:02 · 864 阅读 · 0 评论 -
Redis性能测试——redis-benchmark使用教程
谨以此作为读书摘要,无它,唯以后快速查阅 Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)。你可以使用 redis-benchmark -h 来查看基准参数。 [plain] view plain copy 以下参数被支持: Usage: ...原创 2017-06-25 13:39:16 · 320 阅读 · 0 评论 -
Redis设计与实现
数据结构与对象 Simple Dynamic String 链表 字典 跳跃链表 整数集合 压缩列表 单机数据库的实现 数据库 RDB持久化 ...原创 2017-06-25 13:41:03 · 123 阅读 · 0 评论 -
热点key问题(mutex key)
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、引出热点key问题 我们通常使用 缓存 + 过期时间的策略来帮助我们加速接口的访问速度,减少了后端负载,同时保证功能的更新,一般情况下这种模式已经基本满足要求了。 但是有两个问题如果同时出现,可能就会对系统造成致命的危害: (1) ...原创 2017-06-28 18:46:34 · 203 阅读 · 0 评论
分享