目录
[2.1.1 存储数据](#2.1.1 存储数据)
[2.1.2 切换数据库](#2.1.2 切换数据库)
[2.1.3 存储数据时同时设置过期时间](#2.1.3 存储数据时同时设置过期时间)
[2.2.1 存储数据](#2.2.1 存储数据)
[2.3.1 存储](#2.3.1 存储)
[2.3.2 获取长度](#2.3.2 获取长度)
[2.3.3 查找元素](#2.3.3 查找元素)
一.Java连接Redis
1.1.导入依赖
<!--redis-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
1.2.启动Redis服务
win+r打开命令行窗口,输入以下代码
cd redis安装的路径 redis-server.exe redis.windows.conf
1.3.Java创建连接
public static void main(String[] args) {
//建立连接
Jedis jedis = new Jedis("localhost", 6379);
//设置密码
jedis.auth("123456");
//测试连接(ping)
System.out.println(jedis.ping());
}
运行测试结果:
二.Java操作Redis的常见类型
2.1.String类型
2.1.1 存储数据
//存储数据
jedis.set("test","YU");
2.1.2 切换数据库
jedis.select(2);
2.1.3 存储数据时同时设置过期时间
//设置key过期时间
jedis.setex("time",15,"过期时间");
2.2.Hash类型
2.2.1 存储数据
jedis.hset("user","name","YU");
jedis.hset("user","hobby","Java");
jedis.hset("user","age","18");
2.2.2.利用工具类以map的形式存储数据
(1)RedisUtils工具类
package com.zking.ssm.util;
import redis.clients.jedis.Jedis;
import java.util.Map;
import java.util.Set;
/**
* @author 君临沂
* @create 2023-11-06 10:35
*/
public class RedisUtils {
public static void setHashMap(Jedis jedis, String key, Map<String,String> map){
if(map!=null && map.size()>0){
Set<String> keys = map.keySet();
for(String k:keys){
jedis.hset(key,k,map.get(k));
}
}
}
}
(2)应用
Map map = new HashMap();
map.put("name","YU");
map.put("hobby","Java");
map.put("age","18");
RedisUtils.setHashMap(jedis,"user",map);
我们通过将map集合及键以参数的形式传递到工具类方法中,并遍历依次进行存储
2.2.3查询数据
(1)查询单个
System.out.println(jedis.hget("user","hobby"));
(2)查询所有
System.out.println(jedis.hgetAll("user"));
2.2.4.删除数据
(1)删除单个
Long hdel = jedis.hdel("user", "sex");
(2)查询所有
jedis.del("user");
2.3.列表
2.3.1 存储
//指定数据库
jedis.select(2);
//插入多项值
jedis.lpush("List_hobby", "KK", "run", "cash", "LL");
2.3.2 获取长度
// 获取列表的长度
System.out.println(jedis.llen("List_hobby"));
2.3.3 查找元素
//根据索引获取列表中的元素
System.out.println(jedis.lindex("List_hobby", 2));
//查看指定范围内的元素
System.out.println(jedis.lrange("List_hobby", 0, 3));