Redis操作List工具類封裝,Java Redis List命令封裝
Redis列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素導列表的頭部(左邊)或者尾部(右邊)
一個列表最多可以包含 232 - 1 個元素 (4294967295, 每個列表超過40億個元素)。
Java程式碼- /**************************** redis 列表List start***************************/
- /**
- * 將一個值插入到列表頭部,value可以重複,返回列表的長度
- * @param key
- * @param value String
-
* @return 返回List的長度
- */
- public static Long lpush(String key, String value){
- Jedis jedis = jedisPool.getResource();
- Long length = jedis.lpush(key, value);
- jedis.close();
- return length;
- }
- /**
- * 將多個值插入到列表頭部,value可以重複
- * @param key
-
* @param values String[]
- * @return 返回List的數量size
- */
- public static Long lpush(String key, String[] values){
- Jedis jedis = jedisPool.getResource();
- Long size = jedis.lpush(key, values);
- jedis.close();
- //System.out.println(result);
- return size;
- }
-
/**
- * 獲取List列表
- * @param key
- * @param start long,開始索引
- * @param end long, 結束索引
- * @return List<String>
- */
- public static List<String> lrange(String key, long start, long end){
- Jedis jedis = jedisPool.getResource();
- List<String> list = jedis.lrange(key, start, end);
- jedis.close();
- return list;
- }
- /**
- * 通過索引獲取列表中的元素
- * @param key
- * @param index,索引,0表示最新的一個元素
- * @return String
- */
- public static String lindex(String key, long index){
- Jedis jedis = jedisPool.getResource();
- String str = jedis.lindex(key, index);
- jedis.close();
- return str;
- }
- /**
- * 獲取列表長度,key為空時返回0
- * @param key
- * @return Long
- */
- public static Long llen(String key){
- Jedis jedis = jedisPool.getResource();
- Long length = jedis.llen(key);
- jedis.close();
- return length;
- }
- /**
- * 在列表的元素前或者後插入元素,返回List的長度
- * @param key
- * @param where LIST_POSITION
- * @param pivot 以該元素作為參照物,是在它之前,還是之後(pivot:樞軸;中心點,中樞;[物]支點,支樞;[體]迴轉運動。)
- * @param value
- * @return Long
- */
- public static Long linsert(String key, LIST_POSITION where, String pivot, String value){
- Jedis jedis = jedisPool.getResource();
- Long length = jedis.linsert(key, where, pivot, value);
- jedis.close();
- return length;
- }
- /**
- * 將一個或多個值插入到已存在的列表頭部,當成功時,返回List的長度;當不成功(即key不存在時,返回0)
- * @param key
- * @param value String
- * @return Long
- */
- public static Long lpushx(String key, String value){
- Jedis jedis = jedisPool.getResource();
- Long length = jedis.lpushx(key, value);
- jedis.close();
- return length;
- }
- /**
- * 將一個或多個值插入到已存在的列表頭部,當成功時,返回List的長度;當不成功(即key不存在時,返回0)
- * @param key
- * @param values String[]
- * @return Long
- */
- public static Long lpushx(String key, String[] values){
- Jedis jedis = jedisPool.getResource();
- Long length = jedis.lpushx(key, values);
- jedis.close();
- return length;
- }
- /**
- * 移除列表元素,返回移除的元素數量
- * @param key
- * @param count,標識,表示動作或者查詢方向
- * <li>當count=0時,移除所有匹配的元素;</li>
- * <li>當count為負數時,移除方向是從尾到頭;</li>
- * <li>當count為正數時,移除方向是從頭到尾;</li>
- * @param value 匹配的元素
- * @return Long
- */
- public static Long lrem(String key, long count, String value){
- Jedis jedis = jedisPool.getResource();
- Long length = jedis.lrem(key, count, value);
- jedis.close();
- return length;
- }
- /**
- * 通過索引設定列表元素的值,當超出索引時會拋錯。成功設定返回true
- * @param key
- * @param index 索引
- * @param value
- * @return boolean
- */
- public static boolean lset(String key, long index, String value){
- Jedis jedis = jedisPool.getResource();
- String statusCode = jedis.lset(key, index, value);
- jedis.close();
- if(SUCCESS_OK.equalsIgnoreCase(statusCode)){
- return true;
- }else{
- return false;
- }
- }
- /**
- * 對一個列表進行修剪(trim),就是說,讓列表只保留指定區間內的元素,不在指定區間之內的元素都將被刪除。
- * @param key
- * @param start
- * <li>可以為負數(-1是列表的最後一個元素,-2是列表倒數第二的元素。)</li>
- * <li>如果start大於end,則返回一個空的列表,即列表被清空</li>
- * @param end
- * <li>可以為負數(-1是列表的最後一個元素,-2是列表倒數第二的元素。)</li>
- * <li>可以超出索引,不影響結果</li>
- * @return boolean
- */
- public static boolean ltrim(String key, long start, long end){
- Jedis jedis = jedisPool.getResource();
- String statusCode = jedis.ltrim(key, start, end);
- jedis.close();
- if(SUCCESS_OK.equalsIgnoreCase(statusCode)){
- return true;
- }else{
- return false;
- }
- }
- /**
- * 移出並獲取列表的第一個元素,當列表不存在或者為空時,返回Null
- * @param key
- * @return String
- */
- public static String lpop(String key){
- Jedis jedis = jedisPool.getResource();
- String value = jedis.lpop(key);
- jedis.close();
- return value;
- }
- /**
- * 移除並獲取列表最後一個元素,當列表不存在或者為空時,返回Null
- * @param key
- * @return String
- */
- public static String rpop(String key){
- Jedis jedis = jedisPool.getResource();
- String value = jedis.rpop(key);
- jedis.close();
- return value;
- }
- /**
- * 在列表中的尾部新增一個個值,返回列表的長度
- * @param key
- * @param value
- * @return Long
- */
- public static Long rpush(String key, String value){
- Jedis jedis = jedisPool.getResource();
- Long length = jedis.rpush(key, value);
- jedis.close();
- return length;
- }
- /**
- * 在列表中的尾部新增多個值,返回列表的長度
- * @param key
- * @param values
- * @return Long
- */
- public static Long rpush(String key, String[] values){
- Jedis jedis = jedisPool.getResource();
- Long length = jedis.rpush(key, values);
- jedis.close();
- return length;
- }
- /**
- * 僅當列表存在時,才會向列表中的尾部新增一個值,返回列表的長度
- * @param key
- * @param value
- * @return Long
- */
- public static Long rpushx(String key, String value){
- Jedis jedis = jedisPool.getResource();
- Long length = jedis.rpushx(key, value);
- jedis.close();
- return length;
-
相關推薦
Redis操作List工具類封裝,Java Redis List命令封裝
Redis列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素導列表的頭部(左邊)或者尾部(右邊) 一個列表最多可以包含 232 - 1 個元素 (4294967295, 每個列表超過40億個元素)。 下載 Java程式碼 /*********
玩轉JDBC打造資料庫操作萬能工具類JDBCUtil,加入了高效的資料庫連線池,利用了引數繫結有效防止SQL注入
SELECT * FROM emp_test 成功查詢到了14行資料 第1行:{DEPT_TEST_ID=10, EMP_ID=1001, SALARY=10000, HIRE_DATE=2010-01-12, BONUS=2000, MANAGER=1005, JOB=Manager, NAME=張無忌}
List操作的工具類
row exceptio val 字符串 rem 字符 sem != err 1 /** 2 * <p>list操作的工具類</p> 3 */ 4 public class ListUtil { 5 /** 6
java與javascript對cookie操作的工具類
check cells ram tco expire turn get servle request Java對cookie的操作 package cn.utils; import java.util.HashMap; import java.util.Map;
自己封裝的poi操作Excel工具類
該工具類主要完成的功能是:讀取Excel、彙總Excel的功能。在讀取時,可以設定開始和結束讀取的位置、設定是否讀取多個sheet、設定讀取那個或者那些sheet等。在彙總時,如設定是否覆蓋目標檔案、設定是否比較檢查重複內容、設定檢查重複的列索引等功能。具體來演示一下吧: &nbs
java操作MongoDB工具類分享
最近做了個用MongoDB儲存的專案,由於MongoDB對開發人員不開放,由DBA統一管理。因此,自己抽時間寫了個MongoDB的查詢機。便於查詢專案中的資料,方便維護和分析問題。總結了一些java操作MongoDB的方法。本文沒有使用spring-data來操作MongoD
java操作mongodb工具類
新建maven專案 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sch
Springboot操作redis叢集的工具類
最近一直在做SpringCloud的專案,由於用到了redis叢集,所以就想著寫一個操作redis叢集的工具類來。廢話不多說,直接上乾貨。 第一,redis的地址配置:#redis cluster spring.redis.cache.clusterNodes=192.
輕鬆把玩HttpClient之封裝HttpClient工具類(五),攜帶Cookie的請求
最近更新了一下HttpClientUtil工具類程式碼,主要是添加了一個引數HttpContext,這個是用來幹嘛的呢?其實是用來儲存和傳遞Cookie所需要的。因為我們有很多時候都需要登
Java資料庫的操作——DBUtils工具類結果集處理的方式有幾種?
public class QueryRunnerDemo{ private static Connection con=JDBCUtils.getConnection(); public static void main(String[] args) throws SQLException{ QueryRun
Redis儲存快取工具類簡單封裝
一、公共實體類 (1)User.java package cn.xiyou.entity; import java.io.Serializable; /** * User實體 * * @author XIOAHU * */ publi
輕鬆把玩HttpClient之封裝HttpClient工具類(七),新增驗證碼識別功能
這個HttpClientUtil工具類分享在GitHub上已經半年多的時間了,並且得到了不小的關注,有25顆star,被fork了38次。有了大家的鼓勵,工具類一直也在完善中。最近比較忙,兩個多月前的修改在今天剛修改測試完成,今天再次分享給大家。 驗
輕鬆把玩HttpClient之封裝HttpClient工具類(三),外掛式配置Header
上篇文章介紹了外掛式配置HttpClient,本文將介紹外掛式配置Header。 為什麼要配置header在前面已經提到了,還裡再簡單說一下,要使用HttpClient模擬請求,去訪問各種介面或者網站資源,都有可能有各種限制,比如說java客戶端模擬
開源一個我的Java工具類集合,幫你簡化開發工作
更新時間:Feb 12, 2018在當初剛接觸Java時,感覺有時候想找實現一些小功能,但是找不到已實現的簡易工具,要麼就是這種有相關功能的庫,呼叫起來特別複雜。我呢,是個特別討厭把簡單的事弄複雜的那種
redis儲存list工具類
package com.syzton.sunread.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.Closeable; imp
輕鬆把玩HttpClient之封裝HttpClient工具類(九),新增多檔案上傳功能
在Git上有人給我提Issue,說怎麼上傳檔案,其實我一開始就想上這個功能,不過這半年比較忙,所以一直耽擱了。這次正好沒什麼任務了,趕緊完成這個功能。畢竟作為一款工具類,有基本的請求和下載功能,就差上傳了,有點說不過去。好了,天不早了,咱乾點正事吧。
25.大白話說java並發工具類-CountDownLatch,CyclicBarrier,Semaphore,Exchanger
java rac second service join方法 -o -s exc tor 1. 倒計時器CountDownLatch 在多線程協作完成業務功能時,有時候需要等待其他多個線程完成任務之後,主線程才能繼續往下執行業務功能,在這種的業務場景下,通常可以使用Thre
封裝poi操作Excel工具類
原文點這裡: 在上一篇文章《使用poi讀寫Excel》中分享了一下poi操作Excel的簡單示例,這次要分享一下我封裝的一個Excel操作的工具類。 該工具類主要完成的功能是:讀取Excel、彙總Excel的功能。在讀取時,可以設定
java對xml檔案操作的工具類
首先列出目錄結構及其檔案內的功能: com.testxml .main //所有物件的入口,測試類 .books //實體 .boos.xml //xml檔案 .booksDao
stream流操作List工具類
cat new pty pac edi throw tin 程序 clas 工作中操作List對於程序猿來說是"基本操作",為了更加便利,對JDK8的新特性stream流進行二次封裝.話不多說,直接上代碼 package com.mydemo; imp