Jedis操作Redis String型別

2022-08-27 15:36:11 字數 3272 閱讀 2696

/*** string(字串)

*/public classstringtypetest

/*** set key value [ex seconds] [px milliseconds] [nx|xx]

* 將字串值 value 關聯到 key 。

* 如果 key 已經持有其他值, set 就覆寫舊值,無視型別。

* 對於某個原本帶有生存時間(ttl)的鍵來說, 當 set 命令成功在這個鍵上執行時, 這個鍵原有的 ttl 將被清除。

* 可選引數

* 從 redis 2.6.12 版本開始, set 命令的行為可以通過一系列引數來修改:

* ex second :設定鍵的過期時間為 second 秒。 set key value ex second 效果等同於 setex key second value 。

* px millisecond :設定鍵的過期時間為 millisecond 毫秒。 set key value px millisecond 效果等同於 psetex key millisecond value 。

* nx :只在鍵不存在時,才對鍵進行設定操作。 set key value nx 效果等同於 setnx key value 。

* xx :只在鍵已經存在時,才對鍵進行設定操作。

*/@test

public voidset()

/*** mset key value [key value ...] mget key [key ...]返回所有(乙個或多個)給定 key 的值。如果給定的key裡面,有某個key不存在,那麼這個key返回特殊值nil 。因此,該命令永不失敗。

* 同時設定乙個或多個 key-value 對。

* 如果某個給定 key 已經存在,那麼 mset 會用新值覆蓋原來的舊值,如果這不是你所希望的效果,請考慮使用 msetnx 命令:它只會在所有給定 key 都不存在的情況下進行設定操作。

* mset 是乙個原子性(atomic)操作,所有給定 key 都會在同一時間內被設定,某些給定 key 被更新而另一些給定 key 沒有改變的情況,不可能發生。

*/@test

public voidmset()

/*** get key

* 返回 key 所關聯的字串值。

* 如果 key 不存在那麼返回特殊值 nil 。

* 假如 key 儲存的值不是字串型別,返回乙個錯誤,因為 get 只能用於處理字串值。

*/@test

public voidget()

/*** getset key value

* 將給定 key 的值設為 value ,並返回 key 的舊值(old value)。

* 當 key 存在但不是字串型別時,返回乙個錯誤。

*/@test

public voidgetset()

*/@test

set();

get();

}/*** setbit key offset value

* 對 key 所儲存的字串值,設定或清除指定偏移量上的位(bit)。

* 位的設定或清除取決於 value 引數,可以是 0 也可以是 1 。

* 當 key 不存在時,自動生成乙個新的字串值。

* 字串會進行伸展(grown)以確保它可以將 value 儲存在指定的偏移量上。當字串值進行伸展時,空白位置以 0 填充。

* offset 引數必須大於或等於 0 ,小於 2^32 (bit 對映被限制在 512 mb 之內)。

*/@test

public voidsetbit()

/*** bitcount key [start] [end]

* 計算給定字串中,被設定為 1 的位元位的數量。

* 一般情況下,給定的整個字串都會被進行計數,通過指定額外的 start 或 end 引數,可以讓計數只在特定的位上進行。

* start 和 end 引數的設定和 getrange 命令類似,都可以使用負數值: 比如 -1 表示最後乙個位元組, -2 表示倒數第二個位元組,以此類推。

* 不存在的 key 被當成是空字串來處理,因此對乙個不存在的 key 進行 bitcount 操作,結果為 0 。

*/@test

public voidbitcount()

/*** setrange key offset value

* 用 value 引數覆寫(overwrite)給定 key 所儲存的字串值,從偏移量 offset 開始。

* 不存在的 key 當作空白字串處理。

* setrange 命令會確保字串足夠長以便將 value 設定在指定的偏移量上,

* 如果給定key原來儲存的字串長度比偏移量小(比如字串只有 5 個字元長,但你設定的 offset 是 10 ),

* 那麼原字元和偏移量之間的空白將用零位元組(zerobytes, "\x00" )來填充。

*/@test

public voidsetrange()

/*** getrange key start end

* 返回 key 中字串值的子字串,字串的擷取範圍由 start 和 end 兩個偏移量決定(包括 start 和 end 在內)。

* 負數偏移量表示從字串最後開始計數, -1 表示最後乙個字元, -2 表示倒數第二個,以此類推。

*/@test

public voidgetrange()

/*** 返回 key 所儲存的字串值的長度。

*/@test

public voidstrlen()

/*** incr key

* 將 key 中儲存的數字值增一。

* 如果 key 不存在,那麼 key 的值會先被初始化為 0 ,然後再執行 incr 操作。

* 如果值包含錯誤的型別,或字串型別的值不能表示為數字,那麼返回乙個錯誤。

*/@test

public voidincr()

/*** incrby key increment incrbyfloat key increment

* 將 key 所儲存的值加上增量 increment 。

* 如果 key 不存在,那麼 key 的值會先被初始化為 0 ,然後再執行 incrby 命令。

* 如果值包含錯誤的型別,或字串型別的值不能表示為數字,那麼返回乙個錯誤。

*/@test

public voidincrby()

private voidout(object msg)

}

jedis操作封裝

為什麼我們要封裝jedis?1.每次使用需要釋放資源,2.每次使用需要轉換型別 3.多人開發,key儲存可能覆蓋 根據上述問題,封裝適合自己專案的操作類 針對1 2問題,我們簡單封裝jedisserver public class redisservice finally 設定物件 public b...

jedis操作詳解 List

在redis 中,list 型別是按照插入順序排序的字串鍊錶。和資料結構中的普通鍊錶一樣,我們可以在其頭部 left 和尾部 right 新增新的元素。在插入時,如果該鍵並不存在,redis 將為該鍵建立乙個新的鍊錶。與此相反,如果鍊錶中所有的元素均被移除,那麼該鍵也將會被從資料庫中刪除。list ...

Jedis相關操作api list

long rpush string key,string strings 在頭部新增字串值 lpush 和尾 rpush 儲存在key列表。如果key不存在,則在追加操作前建立空列表。如果key存在,但不是列表,則返回錯誤。返回的是成功插入的個數。long lpush string key,stri...