1、List
package com.example.actuatordemo.redis;
import lombok.extern.slf4j.Slf4j;
import redis.clients.jedis.Jedis;
/**
* @author haoxiansheng
*/
@Slf4j
public class RedisListDemo {
/**
* Redis 列表是簡單的字符串列表,按照插入順序排序
*/
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost");
log.info("Jedis.ping()==>{}", jedis.ping());
jedis.del("list1");
// 從list 列表尾部添加3個元素
jedis.rpush("list1", "zhangsan", "list", "wangwu");
// 取得類型 list
log.info("jedis.type()=>{}", jedis.type("list1"));
// 遍歷區間【0, -1】,取得全部的元素
log.info("jedis.lrange(list1,0, -1)=>{}", jedis.lrange("list1", 0, -1));
// 遍歷區間【1, 2】,取得區間的元素
log.info("jedis.lrange(list1,1, 2)=>{}", jedis.lrange("list1", 1, 2));
// 獲取列表的長度
log.info("jedis.llen(\"list1\")=>{}", jedis.llen("list1"));
// 獲取下標爲1的元素
log.info("jedis.lindex(\"list1\",1)=>{}", jedis.lindex("list1", 1));
// 左側彈出元素
log.info("jedis.lpop(\"list1\")=>{}", jedis.lpop("list1"));
// 右側彈出元素
log.info("jedis.rpop(\"list1\")=>{}", jedis.rpop("list1"));
// 設置下標爲0 的元素val
jedis.lset("list1", 0, "list2");
// 遍歷取得全部
log.info("jedis.lrange(\"list1\", 0, -1)=>{}", jedis.lrange("list1", 0, -1));
jedis.close();
}
}
2、Hash
package com.example.actuatordemo.redis;
import lombok.extern.slf4j.Slf4j;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.Map;
/**
* @author haoxiansheng
*/
@Slf4j
public class RedisHashDemo {
/**
* Hash 哈希表是一個String 類型的field : value 值的映射表
* hash 特別適合用於存儲對象
* Redis 中每個hash 可以存儲2^32-1(40 多億) 鍵-值對
*
* @param args
*/
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost");
jedis.del("config");
// 設置hash 的field-value對 ip=127.0.0.1
jedis.hset("config", "ip", "127.0.0.1");
// 取得hash 的field 對應的值
log.info("jedis.hget(\"config\",\"ip\")=>{}", jedis.hget("config", "ip"));
// 取得類型
log.info("jedis.type(\"config\")=>{}", jedis.type("config"));
// 批量添加field-value對,
Map<String, String> configFields = new HashMap<>();
configFields.put("port", "8080");
configFields.put("maxalive", "2222");
configFields.put("weight", "7");
// 批量執行
jedis.hmset("config", configFields);
// 批量獲取
log.info("jedis.hgetAll(\"config\")=>{}", jedis.hgetAll("config"));
// 批量獲取對應field 的value
log.info("jedis.hmget(\"config\", \"port\", \"ip\")=>{}", jedis.hmget("config", "port", "ip"));
// 獲取長度
log.info("jedis.hlen(\"config\")=>{}", jedis.hlen("config"));
// 判斷field是否存在
log.info("jedis.hexists(\"config\", \"weight\")=>{}", jedis.hexists("config", "weight"));
// 刪除一個field
jedis.hdel("config", "weight");
// 判斷field是否存在
log.info("jedis.hexists(\"config\", \"weight\")=>{}", jedis.hexists("config", "weight"));
jedis.close();
}
}