数据类型简单解释
1.String类型
相当于Map类型的存储方式,储存采用key:value的形式存储
2.list类型
一个key对应多个value
3.set类型
一个key对应多个value,有相同值会去重
4.hash类型
一个key里面对应多个key:value的形式键值对
5.zset类型
一个key对应多个value,有相同值会去重,会根据输入的排序值进行排序
jedis读取数据类型
Jedis jedis = new Jedis("ip",端口);
jedis.auth("password");
// 批量存储string类型数据
jedis.mset("string_key1","value","string_key2","value2","string_key3","value3");
// 单个储存string类型数据
jedis.set("string_key4","value");
// 取出string类型数据
String string_value1 = jedis.get("string_key1");
String string_value2 = jedis.get("string_key4");
// jedis储存list类型
jedis.lpush("list_key","value1","value2","value3");
// 取出list类型
Long list_len = jedis.llen("list_key");
List<String> list_values = jedis.lrange("list_key", 0, list_len);//(key,开始索引,结束索引)
// jedis储存set类型(相同的key储存时,不会覆盖之前的key存的value,遵守set的去重)
jedis.sadd("set_key","value","value","value1","value1","value2");
// 取出set类型
Set<String> set_values = jedis.smembers("set_key");
// jedis储存hash类型
jedis.hset("hash_key","key1","value");
// 取出hash类型
String hget = jedis.hget("hash_key", "key1");
// jedis储存zset类型(key,排序值,value)
jedis.zadd("zset_key",1,"value1");
jedis.zadd("zset_key",2,"value2");
jedis.zadd("zset_key",0,"value3");
// jedis取出zset类型 (会根据排序值由低到高排序)
Set<String> zset_key = jedis.zrange("zset_key", 0, 100);
jedis队列的存取
// jedis储存到队列及取出数据
// 将数据添加到队列尾部
jedis.rpush("key","value","value2");
// 循环拿取队列中的数据
while (!Thread.interrupted()){
new Thread(()->{
// 从 list 中删除并返回第一个元素
String values = jedis.lpop("key");
System.out.println("接下来做业务处理");
// 休眠
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
}
jedis集群连接配置
private static JedisCluster jedisCluster = null;
public synchronized static JedisCluster refJedisCluster() {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(1);
config.setMaxIdle(1);
config.setMaxWaitMillis(1000);
config.setTestOnBorrow(true);
// 集群模式
JedisPoolConfig poolConfig = new JedisPoolConfig();
Set<HostAndPort> nodes = new HashSet<HostAndPort>();
// ip地址加端口
HostAndPort hostAndPort = new HostAndPort("ip地址", 6379);
nodes.add(hostAndPort);
hostAndPort = new HostAndPort("ip地址", 6380);
nodes.add(hostAndPort);
hostAndPort = new HostAndPort("ip地址", 6381);
nodes.add(hostAndPort);
jedisCluster = new JedisCluster(nodes, poolConfig);
return jedisCluster;
}
jedis单个连接配置
private static Jedis jedis = null;
//Jedis配置
public synchronized static Jedis refJedisOne() {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(1);
config.setMaxIdle(1);
config.setMaxWaitMillis(1000);
config.setTestOnBorrow(true);
JedisPool jedisPool = new JedisPool(config, "127.0.0.1", 6379);
if (jedis == null){
jedis = jedisPool.getResource();
}
return jedis;
}
//Jedis关闭资源
public void closeJedis(Jedis jedis1){
if (jedis1 != null){
jedis1.close();
}
}