二、使用步骤
- 下载jedis的jar包
- 创建对象,获取连接
Jedis jedis = new Jedis("IP",端口号);
- 操作数据库
jedis.set("username","刘能");
- 释放资源
jedis.close();
三、Jedis操作Redis中的不同数据结构
1. 字符串类型 string
set
setex("key","毫秒值",value)
:存储可以指定过期时间的key valueget
2. 哈希类型 hash : map格式
hset("key","skey","value")
hget("key","skey")
Map<String,String> hgetAll("key")
3. 列表类型 list : linkedlist格式。支持重复元素
lpush/rpush("key","value1","value2","value3"...)
lpop
/rpop
List<String> lrange start end
:范围获取 0 -1为获取全部1
2
3
4
5
6//存储
jedis.lpush("myList","a","b","c");//左边
jedis.rpush("myList","a","b","c");//右边
//获取
List<String> list = jedis.lrange("myList", 0, -1);
System.out.println(list);//[c, b, a, a, b, c]4. 集合类型 set : 不允许重复元素
sadd("key","value1","value2"...)
Set<String> smembers()
1
2
3
4
5//存储
jedis.sadd("mySet","java","php","c++");
//获取
Set<String> set = jedis.smembers("mySet");
System.out.println(set);//[c++, java, php]5. 有序集合类型 sortedset:不允许重复元素,且元素有顺序
zadd("key",socre,"value")
:sorce为double,排序分数,再次设置可以修改Set<String> zrange("key",strat,end)
:strat end为开始结束的索引1
2
3
4
5
6//存储
jedis.zadd("mySortedSet", 3.0, "盖伦");
jedis.zadd("mySortedSet", 30.0, "安其拉");
jedis.zadd("mySortedSet", 90.0, "猴子");
//获取
Set<String> set = jedis.zrange("mySortedSet", 0, -1);//[盖伦, 安其拉, 猴子]
四、连接池JedisPool
1. 使用步骤
- 创建JedisPool连接池对象
JedisPool(GenericObjectPoolConfig poolConfig, String host);
GenericObjectPoolConfig
:配置对象
- 调用方法
getResource()
获取Jedis连接
- 归还连接。
jedis.close();
详细配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22#最大活动对象数
1000 =
#最大能够保持idel状态的对象数
100 =
#最小能够保持idel状态的对象数
50 =
#当池内没有返回对象时,最大等待时间
10000 =
#当调用borrow Object方法时,是否进行有效性检查
true =
#当调用return Object方法时,是否进行有效性检查
true =
#“空闲链接”检测线程,检测的周期,毫秒数。如果为负值,表示不运行“检测线程”。默认为-1.
30000 =
#向调用者输出“链接”对象时,是否检测它的空闲超时;
true =
# 对于“空闲链接”检测线程而言,每次检测的链接资源的个数。默认为3.
50 =
#redis服务器的IP
xxxxxx =
#redis服务器的Port
6379 =代码:
1 |
|
2. 工具类
1 |
package cn.yangye.util; |
五、注意
- 使用redis缓存一些不经常发生变化的数据。
- 数据库的数据一旦发生改变,则需要更新缓存。
- 数据库的表执行 增删改的相关操作,需要将redis缓存数据情况,再次存入。
- 在service对应的增删改方法中,将redis数据删除。