Java使用Lettuce操作redis
maven包
# 包含了lettuce jar
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
LettuceRedisUtils
package com.meeno.chemical.common.redis;
import com.alibaba.fastjson.JSONObject;
import com.meeno.chemical.common.constants.Constants;
import io.lettuce.core.RedisClient;
import io.lettuce.core.RedisURI;
import io.lettuce.core.api.StatefulRedisConnection;
import io.lettuce.core.api.sync.RedisCommands;
import org.springframework.boot.autoconfigure.cache.CacheProperties;
import java.util.List;
/**
* @description: lettuceRedis工具类
* @author: Wzq
* @create: 2020-08-05 19:34
*/
public class LettuceRedisUtils {
/**
* 获取command
* @return
*/
private static RedisURI getRedisUri(){
String host = RedisConfig.host;
Integer port = RedisConfig.port;
String password = RedisConfig.password;
Integer database = RedisConfig.database;
RedisURI redisUri = RedisURI.Builder.redis(host)
.withPort(port)
.withPassword(password)
.withDatabase(database)
.build();
return redisUri;
}
/**
* 匹配key 返回匹配的key列表
* @param keys
* @return
*/
public static List<String> keys(String keys){
RedisURI redisUri = getRedisUri();
RedisClient client = RedisClient.create(redisUri);
StatefulRedisConnection<String, String> connect = client.connect();
RedisCommands<String, String> commands = connect.sync();
List<String> keyList = commands.keys(keys);
connect.close();
client.shutdown();
return keyList;
}
/**
* 设置key,和value 失效时间为一天
* @param key
* @param value
*/
public static void set(String key,String value){
RedisURI redisUri = getRedisUri();
RedisClient client = RedisClient.create(redisUri);
StatefulRedisConnection<String, String> connect = client.connect();
RedisCommands<String, String> commands = connect.sync();
commands.setex(key, Constants.DAY_SECOND ,value);
connect.close();
client.shutdown();
}
/**
* 设置key,和value 失效时间为一天
* @param key
* @param value
*/
public static void set(String key, Object value){
String valueStr = null;
if(value != null){
valueStr = JSONObject.toJSONString(value);
}
set(key, valueStr);
}
public static String get(String key){
RedisURI redisUri = getRedisUri();
RedisClient client = RedisClient.create(redisUri);
StatefulRedisConnection<String, String> connect = client.connect();
RedisCommands<String, String> commands = connect.sync();
String s = commands.get(key);
connect.close();
client.shutdown();
return s;
}
}
Java使用Lettuce操作redis的更多相关文章
- Java Spring mvc 操作 Redis 及 Redis 集群
本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...
- Redis入门和Java利用jedis操作redis
Redis入门和Java利用jedis操作redis Redis介绍 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库. Redis 与其他 key - val ...
- Java使用Jedis操作Redis大全
Java操作Redis需要导入两个jar: commons-pool2-2.4.2.jar jedis-2.1.0.jar package com.chinasofti.test; import ja ...
- redis(Springboot中封装整合redis,java程序如何操作redis的5种基本数据类型)
平常测试redis操作命令,可能用的是cmd窗口 操作redis,记录一下 java程序操作reids, 操作redis的方法 可以用Jedis ,在springboot 提供了两种 方法操作 Red ...
- Java通过jedis操作redis(增删改查)
package sgh.main.powersite; import java.util.ArrayList; import java.util.HashMap; import java.util.I ...
- Java通过jedis操作redis缓存
package com.wodexiangce.util; import java.util.Set; import redis.clients.jedis.Jedis; /** * redis工具类 ...
- Java中Jedis操作Redis与Spring的整合
Redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop. ...
- java客户端Jedis操作Redis Sentinel 连接池
pom配置: <dependency> <groupId>org.springframework.data</groupId> <artifactId> ...
- jedis操作redis的几种常见方式总结
Redis是一个著名的key-value存储系统,也是nosql中的最常见的一种,这篇文章主要给大家总结了关于在java中jedis操作redis的几种常见方式,文中给出了详细的示例代码供大家参考学习 ...
随机推荐
- 「AGC029C」Lexicographic constraints
「AGC029C」Lexicographic constraints 传送门 好像这个题非常 easy. 首先这个答案显然具有可二分性,所以问题转化为如何判定给定的 \(k\) 是否可行. 如果 \( ...
- python使用笔记22--mock接口开发
1.mock接口开发 mock是模拟一个接口的意思 为了不阻止测试,开发一个接口,返回你想要的数据,模拟各种场景 需要安装第三方模块flask,flask是web轻量级开发框架 1.1 flask p ...
- 交换机H3C S3100V2-52TP-WiNet
H3C S3100V2-52TP-WiNet参数 使用手册三层交换机 默认管理IP:192.168.0.234 将电脑IP设置为192.168.0.0这一组,网络连接交换机,默认用户名密码都为adm ...
- C语言:监听键盘
所谓键盘监听,就是用户按下某个键时系统做出相应的处理,本章讲到的输入输出函数也是键盘监听函数的一种,例如 getchar().getche().getch() 等.下面的代码演示了 getche() ...
- Requests方法 -- 关联用例执行
1.参照此篇流程 :Requsts方法 -- Blog流程类进行关联 2.用例接口目录如下: 3.用例代码如下: import requestsimport unittestfrom Request. ...
- Markdown 样式美化大全
Markdown 样式大全 目录 Markdown 样式大全 1. 键盘 2. 路径 3. 彩色字体背景 4. 折叠 5. 锚点链接 原生锚点1 原生锚点2 Hello Hello 6. 待办列表 7 ...
- ui自动化,不显示UI界面运行
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options ...
- python的web框架知识点
一个完整的web应用:服务器收到来自浏览器的一个请求,服务器将请求内容的网页返回给浏览器,让浏览器显示出来.[而浏览器与服务器之前的传输协议是HTTP] HTTP是一个基于TCP/IP通信协议来传递数 ...
- C++第四十五篇 -- MFC关闭调用的窗口
调用窗体的方法: // chart是一个MFC的窗体类 chart *chartdialog = new chart; //调用窗体,获取返回值 int ReturnValue = chartdial ...
- 第十五篇 -- QListWidget与QToolButton(界面)
效果图: 这还只是一个界面,并没有实现相应功能. 先看下这图的构成吧. 工具栏的就是将Action拖上去,这部分前面已经介绍过了,那就看下面这部分的构图. 1.左侧是一个工具箱(ToolBox)组件, ...