日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

lettuce--Advanced Redis client

發(fā)布時間:2025/4/5 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lettuce--Advanced Redis client 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

redis官方提供的java client:

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. 連接單機(jī)

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]#sentinelMasterIdRedisClient 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 instanceRedisClient 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;@Autowiredpublic 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();}}

參考文獻(xiàn):

【1】https://github.com/mp911de/lettuce

【2】http://redis.paluch.biz

?

轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/5089502.html

總結(jié)

以上是生活随笔為你收集整理的lettuce--Advanced Redis client的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。