lettuce--Advanced Redis client
2015-12-30 17:24
791 查看
redis官方提供的java client:
![](http://images2015.cnblogs.com/blog/486074/201512/486074-20151230170013948-1877143838.png)
git地址:https://github.com/mp911de/lettuce
Advanced Redis client for thread-safe sync, async, and reactive usage. Supports Cluster, Sentinel, Pipelining, and codecs.http://redis.paluch.biz
This version of lettuce has been tested against Redis and 3.0.
lettuce 3.x works with Java 6, 7 and 8, lettuce 4.x requires Java 8
synchronous, asynchronous and reactive usage
Redis Sentinel
Redis Cluster
SSL and Unix Domain Socket connections
Streaming API
CDI and Spring integration
Codecs (for UTF8/bit/JSON etc. representation of your data)
multiple Command Interfaces
几个常见的使用方法:
1. 连接单机
2. 连接集群
3. 连接sentinel
4.安全的连接
5. spring集成
使用代码如下:
参考文献:
【1】https://github.com/mp911de/lettuce
【2】http://redis.paluch.biz
![](http://images2015.cnblogs.com/blog/486074/201512/486074-20151230170013948-1877143838.png)
git地址:https://github.com/mp911de/lettuce
Advanced Redis client for thread-safe sync, async, and reactive usage. Supports Cluster, Sentinel, Pipelining, and codecs.http://redis.paluch.biz
Introduction
Lettuce is a scalable thread-safe Redis client for synchronous, asynchronous and reactive usage. Multiple threads may share one connection if they avoid blocking and transactional operations such as BLPOP and MULTI/EXEC. lettuce is built with netty. Supports advanced Redis features such as Sentinel, Cluster, Pipelining, Auto-Reconnect and Redis data models.This version of lettuce has been tested against Redis and 3.0.
lettuce 3.x works with Java 6, 7 and 8, lettuce 4.x requires Java 8
synchronous, asynchronous and reactive usage
Redis Sentinel
Redis Cluster
SSL and Unix Domain Socket connections
Streaming API
CDI and Spring integration
Codecs (for UTF8/bit/JSON etc. representation of your data)
multiple Command Interfaces
几个常见的使用方法:
1. 连接单机
package com.lambdaworks.examples; import com.lambdaworks.redis.RedisClient; import com.lambdaworks.redis.RedisConnection; import com.lambdaworks.redis.RedisURI; /** * @author <a href="mailto:mpaluch@paluch.biz">Mark Paluch</a> * @since 18.06.15 09:17 */ public class ConnectToRedis { public static void main(String[] args) { // Syntax: redis://[password@]host[:port][/databaseNumber] RedisClient redisClient = new RedisClient(RedisURI.create("redis://password@localhost:6379/0")); RedisConnection<String, String> connection = redisClient.connect(); System.out.println("Connected to Redis"); connection.close(); redisClient.shutdown(); } }
2. 连接集群
package com.lambdaworks.examples; import com.lambdaworks.redis.RedisURI; import com.lambdaworks.redis.cluster.RedisAdvancedClusterConnection; import com.lambdaworks.redis.cluster.RedisClusterClient; /** * @author <a href="mailto:mpaluch@paluch.biz">Mark Paluch</a> * @since 18.06.15 09:17 */ public class ConnectToRedisCluster { public static void main(String[] args) { // Syntax: redis://[password@]host[:port] RedisClusterClient redisClient = new RedisClusterClient(RedisURI.create("redis://password@localhost:7379")); RedisAdvancedClusterConnection<String, String> connection = redisClient.connectCluster(); System.out.println("Connected to Redis"); connection.close(); redisClient.shutdown(); } }
3. 连接sentinel
package com.lambdaworks.examples; import com.lambdaworks.redis.*; /** * @author <a href="mailto:mpaluch@paluch.biz">Mark Paluch</a> * @since 18.06.15 09:17 */ public class ConnectToRedisUsingRedisSentinel { public static void main(String[] args) { // Syntax: redis-sentinel://[password@]host[:port][,host2[:port2]][/databaseNumber]#sentinelMasterId RedisClient redisClient = new RedisClient( RedisURI.create("redis-sentinel://localhost:26379,localhost:26380/0#mymaster")); RedisConnection<String, String> connection = redisClient.connect(); System.out.println("Connected to Redis using Redis Sentinel"); connection.close(); redisClient.shutdown(); } }
4.安全的连接
package com.lambdaworks.examples; import com.lambdaworks.redis.*; /** * @author <a href="mailto:mpaluch@paluch.biz">Mark Paluch</a> * @since 18.06.15 09:17 */ public class ConnectToRedisSSL { public static void main(String[] args) { // Syntax: rediss://[password@]host[:port][/databaseNumber] // Adopt the port to the stunnel port in front of your Redis instance RedisClient redisClient = new RedisClient(RedisURI.create("rediss://password@localhost:6443/0")); RedisConnection<String, String> connection = redisClient.connect(); System.out.println("Connected to Redis using SSL"); connection.close(); redisClient.shutdown(); } }
5. spring集成
package com.lambdaworks.examples; import com.lambdaworks.redis.*; import org.springframework.beans.factory.annotation.Autowired; /** * @author <a href="mailto:mpaluch@paluch.biz">Mark Paluch</a> * @since 18.06.15 09:31 */ public class MySpringBean { private RedisClient redisClient; @Autowired public void setRedisClient(RedisClient redisClient) { this.redisClient = redisClient; } public String ping() { RedisConnection<String, String> connection = redisClient.connect(); String result = connection.ping(); connection.close(); return result; } }
使用代码如下:
package com.lambdaworks.examples; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.lambdaworks.redis.RedisClient; import com.lambdaworks.redis.RedisConnection; /** * @author <a href="mailto:mpaluch@paluch.biz">Mark Paluch</a> * @since 18.06.15 09:17 */ public class SpringExample { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "com/lambdaworks/examples/SpringTest-context.xml"); RedisClient client = context.getBean(RedisClient.class); RedisConnection<String, String> connection = client.connect(); System.out.println("PING: " + connection.ping()); connection.close(); MySpringBean mySpringBean = context.getBean(MySpringBean.class); System.out.println("PING: " + mySpringBean.ping()); context.close(); } }
参考文献:
【1】https://github.com/mp911de/lettuce
【2】http://redis.paluch.biz
相关文章推荐
- Redis订阅&发布以及python代码实现
- Redis学习笔记(五) 基于Redis 3.0的集群
- Redis学习 - 配置属性:bind
- Redis学习笔记(四) Redis哨兵(sentinel)
- Redis学习笔记(三) Redis主从架构和主从从架构 (1)
- Azure Redis Cache作为ASP.NET Session状态提供程序
- redis安装以及php的redis扩展
- Redis学习 - 配置属性:protected-mode
- Redis+twemproxy(nutcracker)实现Redis多集群方案
- redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
- Redis学习集锦
- 使用Azure Redis Cache
- windows下redis安装及thinkphp中predis配置
- Redis Cache 简介
- redis配置文件参数介绍
- Hadoop、Spark、HBase与Redis的适用性讨论(全文)
- redis 的五种类型以及对应操作
- 使用jedis2.8.0连接redis
- windows系统磁盘爆满,原因是因为redis
- redis cluster搭建