大概内容:
- java连接redis
- springboot连接redis操作。
- 完成缓存操作
- redis实现分布式锁
1 连接redis
默认有三种方式连接redis.
第一种:jedis—传统的项目–ssm
第二种:lettuce:---->刚出现没有多久就被springboot整合进来。
1.1 jedis操作redis服务器
(1)引入jedis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.3.1</version>
</dependency>
(2)编写相关的代码
set 集合类型
//sadd key value value …向集合添加一个或多个成员
jedis.sadd("k","a1","a2","b3","b4","a5");
//smemebers key 返回集合中的所有成员
Set<String> k233 = jedis.smembers("k2");
System.out.println(k233);
//SRANDMEMBER KEY 随机获取一个或多个元素
String k22 = jedis.srandmember("k3");
System.out.println(k22);
//sinter key key: 返回给定所有集合的交集
Set<String> sin = jedis.sinter("k", "k3");
System.out.println(sin);
sort set有序集合
jedis.zadd("k8",99,"chinese");
jedis.zadd("k8",67,"english");
jedis.zadd("k8",79,"huaxue");
jedis.zadd("k8",89,"math");
//zrange key 通过索引区间返回有序集合成指定区间内的成员
List<String> k8 = jedis.zrange("k8", 0, -1);
System.out.println(k8);
//ZREVRANK key start end 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
List<String> k32 = jedis.zrevrange("k8", 0, -1);
System.out.println(k32);
jedis.close();
对hash数据类型操作
Map<String,String> map = new HashMap<>();
map.put("name","马英贤");
map.put("age","55");
map.put("address","海南");
//jedis.hset("k12",map);
//hset key field value 将哈希表 key 中的字段 field 的值设为 value
String hget = jedis.hget("k12", "name");
System.out.println(hget);
//hgetall key 获取在哈希表中指定 key 的所有字段和值
System.out.println(jedis.hgetAll("k12"));
//hkeys key 获取所有哈希表中的字段
System.out.println(jedis.hkeys("k12"));
//hvals key 获取哈希表中所有值
System.out.println(jedis.hvals("k12"));
Map<String, String> map1 = jedis.hgetAll("k12");
System.out.println(map1);
//hset key field value 将哈希表 key 中的字段 field 的值设为 value
jedis.hset("k1","name","小狗");
//hget key field 获取存储在哈希表中指定字段的值/td>
String hget1 = jedis.hget("k1", "name");
System.out.println(hget);
list队列
//LPush key value value value… 将一个或多个值插入到列表头部
jedis.lpush("k34","马英贤","路志欣","杨志力","蔡徐坤");
//Redis Lrange 返回列表中指定区间内的元素
List<String> k34 = jedis.lrange("k34", 0, -1);
System.out.println(k34);
//lpop key 移出并获取列表的第一个元素
List<String> k24 = jedis.lpop("k34", 1);
System.out.println(k24);
对string数据类型操作<