redis 有 string、list、set、zset、hash資料型別。string型別是最基礎的,其他型別都是在string型別上去建立的,所以了解熟悉string型別的常用操作對於學習redis非常必要。
127.0.0.1:6379[7]>get hello"world
"(integer)
14127.0.0.1:6379[7]>get hello
"worldwonderful
"
setbit:設定或清除指定偏移位的值(位元位從左往右算)
getbit:獲取指定位的位元值
bitcount:獲取指定位元組範圍中有多少位為 1
127.0.0.1:6379[7]> set andy 'a'ok127.0.0.1:6379[7]>get andy"a
"127.0.0.1:6379[7]> setbit andy 6
1(integer)
0127.0.0.1:6379[7]> setbit andy 7
0(integer)
1127.0.0.1:6379[7]>get andy"b
"127.0.0.1:6379[7]> getbit andy 7
(integer)
0127.0.0.1:6379[7]> bitcount andy 0
3(integer)
3
incr:值遞增
incrby:按照指定值遞增
incrbyfloat:指定浮點數遞增
decr:值遞減
decrby:按照指定值遞減
127.0.0.1:6379[7]> incrby counter 3(integer)
9127.0.0.1:6379[7]> decrby counter 2
(integer)
7127.0.0.1:6379[7]> incrbyfloat counter 1.6
"8.6
"# 如果值為非int型則會報錯
127.0.0.1:6379[7]> incr key3
(error) err value is not an integer or out of range
get:返回鍵的值
getrange:獲取值指定範圍
getset:設定值並且返回原來的值
127.0.0.1:6379[7]>getset key3 test_key3"value3
"127.0.0.1:6379[7]>get key3
"test_key3
"127.0.0.1:6379[7]> getrange key3 0 3
"test"
mget:批量獲取值,如果對應鍵不存在會使用 nil 代替,按指定順序返回
mset:批量設定鍵值對,相比 set 節省了網路時間,但如果一次性設定太多可能會導致阻塞
127.0.0.1:6379[7]> mset a 1 b 2 c 3 d 4ok127.0.0.1:6379[7]>mget a b c d
1) "1"
2) "2"
3) "3"
4) "
4"
set:設定鍵值對
語法:set key value [expiration ex seconds|px milliseconds] [nx|xx]expiration:設定過期時間,ex 以秒為單位, px 以毫秒為單位
nx:鍵必須不存在才能設定成功
xx:鍵必須存在才能設定成功
setnx:同等於 set 指定 nx 引數
127.0.0.1:6379[7]>get test1(nil)
127.0.0.1:6379[7]>get redis
"best
"127.0.0.1:6379[7]> setnx redis "
good
"(integer)
0127.0.0.1:6379[7]> setnx test1 "
good
"(integer)
1
setex:設定鍵值對,並且指定過期時間,同等於 set 指定 ex 引數。
127.0.0.1:6379[7]> setex test1 10"test1"ok
127.0.0.1:6379[7]>get test1
"test1
"127.0.0.1:6379[7]>get test1
(nil)
msetnx:等同於 mset 和 setnx 結合
psetex:等同於 set 設定 px 引數
setrange:修改值指定範圍的內容
127.0.0.1:6379[7]>set redis pestok127.0.0.1:6379[7]> setrange redis 0
b(integer)
4127.0.0.1:6379[7]>get redis
"best
"
strlen:返回值的長度,以位元組為單位,注意每個中文字元佔3個位元組
參考網路檔案:理解setbit中的bit;
理解setbit、bitcount等命令推薦部落格:
Redis string型別的操作
設定key的值 set key value 設定多個key mset key1 value1 key2 value2 keyx valuex 獲取key get key 獲取多個key mget key1 key2.keyx 指定key的字串追加value 擷取key的字串 包括開始位置和結束位置 ...
redis String資料型別
1 set 設定乙個key value 2 get 根據key獲得對應的value 127.0.0.1 6379 set name hello ok127.0.0.1 6379 get name hello 127.0.0.1 6379 3 mset 一次設定多個key value 4 mget 一...
Jedis操作Redis String型別
string 字串 public classstringtypetest set key value ex seconds px milliseconds nx xx 將字串值 value 關聯到 key 如果 key 已經持有其他值,set 就覆寫舊值,無視型別。對於某個原本帶有生存時間 ttl ...