Redis
文章平均质量分 89
iteye_19607
这个作者很懒,什么都没留下…
展开
-
Redis编程实践【pipeline和事务】
Redis或许已经在很多企业开始推广并试水,本文也根据个人的实践,简单描述一下Redis在实际开发过程中的使用(部署与架构,稍后介绍),程序执行环境为java + jedis,关于spring下如何集成redis-api,稍后介绍吧。 前言:下载redis-2.6.2,安装好redis之后,请在redis.conf文件中,将如下3个配置属性开启(仅供测试使用): ##客...原创 2013-05-11 19:31:29 · 712 阅读 · 0 评论 -
Redis Cluster实现原理
一、Redis Cluster主要特性和设计 集群目标 1)高性能和线性扩展,最大可以支撑到1000个节点;Cluster架构中无Proxy层,Master与slave之间使用异步replication,且不存在操作的merge。(即操作不能跨多个nodes,不存在merge层) 2)一定程度上保证writes的安全性,需要客户端容忍一定程度的数据丢失:集群将会尽...原创 2016-04-04 22:06:26 · 586 阅读 · 0 评论 -
Redis Cluster实践
Redis Cluster提供了在多个redis实例间数据自动分片(sharded)的特性,同时在partitions之间提供了一定程度的可用性保障,比如一些nodes失效时集群仍可以继续读写操作;不过当集群中较大规模的节点失效会导致集群停止服务,比如多数master失效(majority of masters)。在实用性方面,Redis Cluster能够做到: 1)在多个...原创 2016-03-21 22:42:05 · 257 阅读 · 0 评论 -
Spring-data-redis: pub/sub消息订阅
Redis中pub/sub特性,可以用来实现类似与JMS的“topic”功能,只不过这些消息无法被持久化而已。spring-data-redis组件中对pub/sub提供了类似JMS的编程模式,我们通过实例来展示如何使用。 需要注意的是,在redis中消息的订阅端(subscribe)需要独占链接,那么消息接收将是阻塞的。 代码实例中,使用了“连接池”/“消息异步接...2013-06-16 19:56:17 · 388 阅读 · 0 评论 -
Spring-data-redis: 分布式队列
Redis中list数据结构,具有“双端队列”的特性,同时redis具有持久数据的能力,因此redis实现分布式队列是非常安全可靠的。它类似于JMS中的“Queue”,只不过功能和可靠性(事务性)并没有JMS严格。Redis本身的高性能和"便捷的"分布式设计(replicas,sharding),可以为实现"分布式队列"提供了良好的基础. Redis中的队列阻塞时,整个con...2013-06-16 15:22:29 · 320 阅读 · 0 评论 -
Spring-data-redis: 事务与pipeline
本文主要展示如何使用spring-data-redis编写事务和pipeline: 1.配置文件:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="...2013-06-15 19:44:15 · 698 阅读 · 0 评论 -
Spring-data-redis: serializer实例
spring-data-redis提供了多种serializer策略,这对使用jedis的开发者而言,实在是非常便捷。sdr提供了4种内置的serializer:JdkSerializationRedisSerializer:使用JDK的序列化手段(serializable接口,ObjectInputStrean,ObjectOutputStream),数据以字节流存储...原创 2013-06-15 17:34:17 · 524 阅读 · 0 评论 -
Spring-data-redis:特性与实例
Spring-data-redis为spring-data模块中对redis的支持部分,简称为“SDR”,提供了基于jedis客户端API的高度封装以及与spring容器的整合,事实上jedis客户端已经足够简单和轻量级,而spring-data-redis反而具有“过度设计”的嫌疑。 jedis客户端在编程实施方面存在如下不足: 1) connection管...原创 2013-06-15 12:01:47 · 271 阅读 · 0 评论 -
Jedis一致性hash与sharding
Redis-server本身并没有sharding方法,不过我们可以借助客户端程序来实现此功能,Jedis中已经为我们提供了足够的API,接下来通过2种方式分别介绍3个API使用方法。不过首先介绍一下Jedis中sharding原理 一.Sharding与一致性Hash sharding的核心理念就是将数据按照一定的策略"分散"存储在集群中不同的物理serv...原创 2013-06-12 23:11:29 · 474 阅读 · 0 评论 -
Jedis编程设计:连接池
Jedis作为redis的最佳客户端,它提供了连接池的特性,“连接池”在通常情况下可以有效的提高应用的通信能力,并且这是一种良好的设计模式。Jedis的连接池设计基于apache commons-pool原生库,仅作了简单的封装;在本文中,我将介绍如何使用jedisPool进行程序设计。 一.连接池基本参数详解maxActive: 链接池中最大连接数,默认为8.max...原创 2013-06-12 19:08:05 · 173 阅读 · 0 评论 -
Redis常用指令
Redis提供了大量的指令用来查看server信息的指令,此文仅作总结: 1. Auth: 与需要密码验证的server进行链接,有两种方式:> ./redis-cli -a 0123456 > ./redis-serverOK> auth 01234562. Select: 选择需要使用的database索引号,数据可以被...2013-06-12 11:42:36 · 106 阅读 · 0 评论 -
Redis Sentinel:集群Failover解决方案
Redis sentinel(哨兵)模块已经被集成在redis2.4+的版本中,尽管目前不是release,不过可以尝试去使用和了解,事实上sentinel还是有点复杂的. sentinel主要功能就是为Redis M-S(master,slaves)集群提供了1)master存活检测 2)集群中M-S服务监控 3) 自动故障转移,M-S角色转换等能力,从一个方面说是提高了redis...原创 2013-06-11 13:08:42 · 405 阅读 · 0 评论 -
Redis配置文件详解
一.前言: redis.conf文件位于根目录下,下载的redis.zip文件解压.可以通过如下手段使用redis配置信息: 1) 直接"make".此后redis server将会使用内置的默认配置项;比如port为6397. 2) 在"make"之前修改redis.h源码中相关配置,然后在redis根目录下执行"make".此后redis将会使用指定的配置信息.(不建议...原创 2013-06-06 15:57:41 · 128 阅读 · 0 评论 -
Redis持久存储(AOF/Snapshot)
Redis中数据存储模式有2种:cache-only,persistence;cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式;persistence即为缓存中的数据持久备份到磁盘文件,在服务重启后可以恢复,此模式下数据相对安全。 持久化数据的方式很多,基于各种考虑...原创 2013-06-04 23:44:07 · 349 阅读 · 0 评论 -
Redis数据结构与存储
一.概述: Redis从大的方面来说,就是一个K-V数据库(或cache);但是redis还提供了对复杂数据结构的操作,比如set/list/map,因此它需要具备对复杂数据的高效查询;此外它还提供了故障恢复特性,因此它需要具备数据持久化(文件操作)能力。 ##如下为Reis顶层数据结构,redisDB实例表示为一个"database",任何K-V/exp...原创 2013-05-26 14:59:49 · 496 阅读 · 0 评论 -
Redis编程实践【protocol】
Redis Protocol即为client与server交互时,所使用的数据格式;符合格式的数据能够被server端解析并返回结果,client端如果按照格式要求既可以解析“结果”并将结构化数据反馈给调用者。有些时候,我们可以通过改造协议的方式构建redis-client套层或者server端的Proxy。 Redis-Client与Server之间进行的任何通讯,均是通过...原创 2013-05-21 18:15:16 · 161 阅读 · 0 评论 -
Redis编程实践【pub/sub】
Redis或许已经在很多企业开始推广并试水,本文也根据个人的实践,简单描述一下Redis在实际开发过程中的使用(部署与架构,稍后介绍),程序执行环境为java + jedis,关于spring下如何集成redis-api,稍后介绍吧。 前言:下载redis-2.6.2,安装好redis之后,请在redis.conf文件中,将如下3个配置属性开启(仅供测试使用): ...原创 2013-05-12 18:18:55 · 346 阅读 · 0 评论 -
Redis客户端简单封装(spring)
Jedis客户端已经比较易用了,不过在spring环境下,可能还需要简单的封装一下。一、单节点Redis服务使用 即只有一个Redis server,或者在M-S模式下,只有Master提供读写服务时使用,配置中指定Master的IP和Port即可。此处使用了Spring FactoryBean方式来创建JedisPool实例。 1、SingletonClient...原创 2017-04-28 12:27:33 · 596 阅读 · 0 评论