目录
一、Jedis操作Redis
1.1 Cache Aside Pattern(缓存模式)
1.2 引入Jedis
1.3 常用方法
1. Jedis连接到redis
2. String
3. Keys
4. List
5. Set
6. Hash
7. Zset
8. Bitmaps
9. Geospatia
10. Hyperloglog
一、Jedis操作Redis
1.1 Cache Aside Pattern(缓存模式)
读:
1. 先读缓存,再读数据库
2. 如果缓存命中,则直接返回缓存数据
3. 如果缓存未命中,则访问数据库,并将数据重置回缓存,然后返回。
写:
先操作数据库写,再淘汰缓存(这里淘汰缓存是删除,而不是更新)
Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件,必须对Jedis熟悉才能写成漂亮的代码。
1.2 引入Jedis
1. 启动redis并在IDEA中创建一个maven工程
2. 引入maven依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
3. 创建相关文件
1.3 常用方法
1. Jedis连接到redis
Jedis jedis = new Jedis("192.168.56.31",6379); //第一个参数是ip地址,第二个参数是端口
在连接之前,需要开放redis连接服务,即关闭redis.conf中的bind本机和关闭本机保护模式
通过systemctl stop firewalld.service命令关闭CentOS8防火墙
Jedis jedis = new Jedis("192.168.56.31",6379);
String msg = jedis.ping();//通过ping()方法向redis发送一个ping命令,服务器返回一个Pong
System.out.println(msg);
jedis.close();//jedis使用完毕需要关闭
2. String
jedis.set("k1","v1"); //设置一个key
jedis.set("k2","1");//设置一个key
String res = jedis.get("k1");//获取一个key
Long ires = jedis.incr("k2");//对某一个key自增
3. Keys
Set<String> keys = jedis.keys("*");//返回所有的key
Long time = jedis.ttl("k1");//返回该key剩余过期时间
4. List
jedis.lpush("list1","v1","v2","v3");//向list中添加数据
List<String> list = jedis.lrange("list1",0,-1 );//返回list全部数据
5. Set
jedis.sadd("set1" ,"v1","v2","v2","v3");//向set中添加数据
jedis.smembers("set1");//查看该集合中有多少个元素
6. Hash
jedis.hset("user","age","25");//设置一个hash
jedis.hvals("user");//获取该key的所有value
7. Zset
jedis.zadd("zset1",100,"java");//向zset中添加一条数据
jedis.zrange("zset1",0,-1);//获取所有的值
8. Bitmaps
jedis.setbit("b1",0, "1");//将b1偏移量为0的位设置为1
jedis.getbit("b1",0);//获取b1偏移量为0的位
9. Geospatia
jedis.geoadd("chinacity",130,110,"beijing");//添加一条地理信息数据
10. Hyperloglog
jedis.pfadd("book","c++","java","php");//将所有元素参数添加到 Hyperloglog 数据结构中。
其实jedis中的方法基本同redis命令一致。