Redis基本資料型別 字串型別

2021-09-22 13:53:31 字數 3668 閱讀 1625

字串型別是redis中最基本的資料型別,它可以儲存任何形式的字串,包括二進位制資料。其他的型別都是以字串型別為基礎,可以看作是字串型別的不同組織形式。

1、賦值與取值格式

redis> set key value                                    # 單個key賦值

redis> mset key1 value1 key2 value2 [key value…] # 多個key賦值

redis> get key # 獲取單個key值

redis> mget key1 key2 [key …] # 獲取多個key值

舉例

127.0.0.1:6379> set foo hello

ok127.0.0.1:6379> mset a 1 b 2

ok127.0.0.1:6379> get foo

"hello"

127.0.0.1:6379> mget a b

1) "1"

2) "2"

2、遞增遞減數字格式

redis> incr key                    # key自增1,如果不存在,則預設是0

redis> incrby key increment # key自增 increment

redis> decr key # key自減1

redis> decrby key increment # key自減 increment

redis> incrbyfloat key increment # key增加乙個雙精度浮點數 increment

舉例

127.0.0.1:6379> incr num

(integer) 1

127.0.0.1:6379> incr num

(integer) 2

127.0.0.1:6379> decr num

(integer) 1

127.0.0.1:6379> decr num

(integer) 0

127.0.0.1:6379> incrby num 5

(integer) 5

127.0.0.1:6379> decrby num 2

(integer) 3

127.0.0.1:6379> incrbyfloat num 5.9

"8.9"

127.0.0.1:6379> incrbyfloat num 5e+4

3、向尾部追加值格式

舉例

127.0.0.1:6379> get foo

"hello"

(integer) 12

127.0.0.1:6379> get foo

"hello world!"

4、獲取字串長度格式

redis> strlen key                            # 獲取字串key的值的長度
舉例

127.0.0.1:6379> set foo hello

ok127.0.0.1:6379> strlen foo

(integer) 5

127.0.0.1:6379> set foo 你好 # 「你」和「好」的中文utf-8編碼長度為3

ok127.0.0.1:6379> strlen foo

(integer) 6

5、位操作格式

redis> getbit key offset                      # 獲取key的二進位制表示中第offset的位置的值

redis> setbit key offset value # 設定key的二進位制表示中第offset的位置的值為value

redis> bitcount key [start] [end] # 統計start與end位元組之間1的個數

redis> bitop operation destroy key [key …] # 對多個key進行位操作,結果存到destroy中

redis> bitpos key value [start] [end] # 獲取start與value位元組之間鍵值為value的偏移量,從0開始

舉例

127.0.0.1:6379> set foo bar

ok127.0.0.1:6379> getbit foo 0

(integer) 0

127.0.0.1:6379> getbit foo 6

(integer) 1

127.0.0.1:6379> getbit foo 10000 # 當索引超過實際長度時預設為0

(integer) 0

127.0.0.1:6379> setbit foo 6 0

(integer) 1

127.0.0.1:6379> setbit foo 7 1

(integer) 0

127.0.0.1:6379> get foo

"aar"

127.0.0.1:6379> bitcount foo # 統計值為1的二進位制位個數

(integer) 10

127.0.0.1:6379> bitcount foo 0 1 # 統計前兩個位元組包含的二進位制值為1的個數

(integer) 6

位操作:and、or、xor、not

127.0.0.1:6379> set fool1 bar

ok127.0.0.1:6379> get fool1

"bar"

127.0.0.1:6379> set fool2 aar

ok127.0.0.1:6379> get fool2

"aar"

127.0.0.1:6379> bitop or res fool1 fool2 # or運算

(integer) 3

127.0.0.1:6379> get res

"car"

127.0.0.1:6379>

bitpos

127.0.0.1:6379> get foo

"bar"

127.0.0.1:6379> bitpos foo 1

(integer) 1

127.0.0.1:6379> bitpos foo 0

(integer) 0

127.0.0.1:6379> bitpos foo 1 1 2 # 查詢第1和2個位元組之間二進位制值為1的偏移量

(integer) 9

Redis 基本資料型別 字串型別

字串型別是redis最基本的資料型別,可以儲存任何形式的字串,包括二進位制資料,json化的物件或是一張。乙個字串型別的鍵允許儲存的資料最大容量是512mb。127.0.0.1 6379 set key hello ok127.0.0.1 6379 get key hello 127.0.0.1 6...

基本資料型別(字串)

str 字串型別 作用 記錄描述性質的狀態,名字,一段資訊,性別等 例如 name 夏亮 雙引號 例如 info 鋤禾日當午,汗滴禾下土。在python中,加了引號的字元都被認為是字串!如 name xialiang 加了引號,說明是字串 可以用用雙引號和單引號都表示字串 注 單引號和雙引號沒有區別...

python基本資料型別 字串基本操作

對字串進行操作 字串一旦建立,無法修改,修改將會生成乙個新的字串 string i like thatusne miku 索引獲取字串中的某個字元 character string 4 print character 切片,獲取字串中子字串,4 開始值不寫表示重0開始計數到結束值得前一位 3 結束值...