key通用指令
常用操作
del key
删除指定keyexists key
获取key是否存在type key
获取key的类型
key 时效性控制
expire key seconds
设置过期时间pexpire key milliseconds
(毫秒版)expireat key timestamp
(使用时间戳版)pexpireat key milliseconds-timestamp
-
ttl key
获取过期时间(不存在返回-2,永久返回-1) -
pttl key
(毫秒版) -
persist key
将key从时效性转换为永久性
key 查询操作
keys pattern
:查询符合条件的所有key,pattern的规则:*
匹配任意数量的任意符号?
匹配一个任意符号[]
匹配括号内的任意一个符号
key 其他操作
renane key newkey
重命名keyrenamenx key newkey
如果新名字不存在才会重命名-
sort
对集合中所有value排序,只能排list或set
数据库通用操作
redis为每个服务提供有16个数据库,编号从0到15,每个数据库之间的数据相互独立
select index
切换数据库-
move key db
将某个键移入其他数据库中 -
dbsize
当前db键的个数 flushdb
清空当前数据库flushall
清空所有数据库
Jedis
基本使用
方法名和指令名一致。
//1.连接redis
Jedis jedis = new Jedis("127.0.0.1", 6379);
//2.操作redis
jedis.set("name","rhett");
String name = jedis.get("name");
System.out.println(name);
//3.关闭连接
jedis.close();
注意方法的返回值
//1.连接redis
Jedis jedis = new Jedis("127.0.0.1", 6379);
//2.操作redis
//字符串
jedis.set("name","rhett");
String name = jedis.get("name");
//list
jedis.lpush("list1","a","b","c");
jedis.rpush("list1","d");
List<String> list1 = jedis.lrange("list1", 0, -1);
list1.forEach(e-> System.out.println(e));
//set
jedis.hset("hash1","a1","a1");
jedis.hset("hash1","a2","a2");
jedis.hset("hash1","a3","a3");
//hash
Map<String, String> hash1 = jedis.hgetAll("hash1");
hash1.forEach((k,v)-> System.out.println(k+":"+v));
Set<String> keys = jedis.keys("*");
keys.forEach(e-> System.out.println(e));
//set
jedis.sadd("set1","50");
jedis.sadd("set1","10");
jedis.sadd("set1","30");
Set<String> set1 = jedis.smembers("set1");
set1.forEach(e-> System.out.println(e));
//3.关闭连接
jedis.close();
incr
操作返回的是Long
连接池
JedisPool
:Jedis提供的连接池技术
基于连接池的工厂类的编写:
public class JedisUtils {
private static JedisPool jp = null;
private static String host;
private static int port;
private static int maxTotal;
private static int maxIdle;
static {
ResourceBundle rb = ResourceBundle.getBundle("redis");
host = rb.getString("redis.host");
port = Integer.parseInt(rb.getString("redis.port"));
maxTotal = Integer.parseInt(rb.getString("redis.maxTotal"));
maxIdle = Integer.parseInt(rb.getString("redis.maxIdle"));
JedisPoolConfig jpc = new JedisPoolConfig();
jpc.setMaxTotal(maxTotal);
jpc.setMaxIdle(maxIdle);
jp = new JedisPool(jpc,host,port);
}
public static Jedis getJedis(){
return jp.getResource();
}
}
redis.properties:
redis.host=127.0.0.1
redis.port=6379
redis.maxTotal=30
redis.maxIdle=10
Redis可视化管理工具
Redis Desktop Manager
原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/redis%e9%80%9a%e7%94%a8%e6%8c%87%e4%bb%a4%e5%92%8cjedis%e4%bd%bf%e7%94%a8/