title: Redis的Strings、Lists經常使用操做指令
author: MegaSlark
date: 2019-10-02 12:52:17
summary: Redis的Strings和Lists經常使用操做指令合集。
categories: Redis
tags:redis
# GET 獲取鍵值對 127.0.0.1:6379> get name (nil) # 設置失效時間的兩種方式 # 設置鍵值對及過時時間 127.0.0.1:6379> setex name 10 enjoyitlife OK 127.0.0.1:6379> get name "enjoyitlife" # 等待10s後再次獲取 127.0.0.1:6379> get name (nil) # 設置鍵值對及過時時間 127.0.0.1:6379> SET name enjoyitlife EX 10 OK #SETNX SET IF NOT EXIST 不存時在設置 127.0.0.1:6379> SETNX name "enjoyitlife" (integer) 1 ## 再次執行就不會設置了 由於Key已經存在了 127.0.0.1:6379> setnx name enjoyitlife (integer) 0 # 獲取鍵值對 127.0.0.1:6379> get name "enjoyitlife" # 刪除鍵值對 127.0.0.1:6379> del name (integer) 1
## MSET MGET 批量獲取 127.0.0.1:6379> mset name enjoyitlife age 18 OK 127.0.0.1:6379> get name "enjoyitlife" 127.0.0.1:6379> get age "18" 127.0.0.1:6379> mget name age 1) "enjoyitlife" 2) "18"
# INCR INCRBY 自增 指定自增間隔 127.0.0.1:6379> set num 18 OK 127.0.0.1:6379> INCR num (integer) 19 127.0.0.1:6379> INCRBY num 6 (integer) 25 # INCRBYFLOAT 浮點類型相加 127.0.0.1:6379> INCRBYFLOAT num 3.05 "28.05"
127.0.0.1:6379> set num 18 OK 127.0.0.1:6379> DECR num (integer) 17 127.0.0.1:6379> DECRBY num 3 (integer) 14 127.0.0.1:6379> DECRBY num 3 (integer) 11
If
key
already exists and is a string, this command appends thevalue
at the end of the string. Ifkey
does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case.centos
若是key存在,append命令會在原值的末尾處追加指定的value,若是key不存在,則會新建一個空字符串,而且追加對應的value。app
# APPEND 字符串增長 若是字符串不存在,初始化後追加。 127.0.0.1:6379> get name "enjoyitlife" 127.0.0.1:6379> APPEND name 2019 (integer) 15 127.0.0.1:6379> get name "enjoyitlife2019" 127.0.0.1:6379> append name1 2019 (integer) 4
SETRANGE:改變原來的字符串 從指定下標開始替換相應的值。若是key存在,則直接替換,若是key不存在,且offset大於0,會用\x00補全。this
## setrange key不存在 127.0.0.1:6379> del name (integer) 1 127.0.0.1:6379> get name (nil) 127.0.0.1:6379> SETRANGE name 2 2019 (integer) 6 127.0.0.1:6379> get name "\x00\x002019" 127.0.0.1:6379> set name enjoy OK # setrange key存在 127.0.0.1:6379> SETRANGE name 0 2019 (integer) 5 127.0.0.1:6379> get name "2019y"
GETRANGE []取值,不改變原來的字符串。centos7
127.0.0.1:6379> get name "2019y" 127.0.0.1:6379> GETRANGE name 0 1 "20" 127.0.0.1:6379> get name "2019y"
## STRLEN 返回對應value的長度 127.0.0.1:6379> STRLEN name (integer) 11
# 將全部指定的值插入到存儲在鍵上的列表的頭部,能夠一次寫入多個值,值是依次寫入隊列頭部。 127.0.0.1:6379> lpush datalist AA AB AC (integer) 3 # LPUSHX 只有在鍵已存在並保存列表的狀況下,纔將指定的值插入存儲在鍵的列表頭部。 與 LPUSH 相反,當鍵不存在時將不執行任何操做 127.0.0.1:6379> LPUSHX datalist AF (integer) 4 # datalist2 沒有值 因此不會有任何操做。 127.0.0.1:6379> LPUSHX datalist2 AF (integer) 0 # LPOP 彈出頭部元素 127.0.0.1:6379> lpop datalist "AF"
# RPUSH 新增隊列集合 而且從尾部寫入元素 127.0.0.1:6379> RPUSH datalist AA AB AC (integer) 3 # RPOP 隊尾彈出 127.0.0.1:6379> RPOP datalist "AC" # RPUSHX 只有在鍵已存在並保存列表的狀況下,纔將指定的值插入存儲在鍵的列表尾部。 與 RPUSH 相反,當鍵不存在時將不執行任何操做 127.0.0.1:6379> RPUSHX datalist AF (integer) 3 127.0.0.1:6379> RPUSHX datalist2 AF (integer) 0 # RPOPLPUSH 原子操做 移除原數列表的隊尾元素到目標元素的頭部。 127.0.0.1:6379> RPOPLPUSH datalist datalistnew "AF" 127.0.0.1:6379> LINDEX datalistnew 0 "AF"
Blpop、BRPOP 、BRPOPLPUSH 對應LPOP、RPOP RPOPLPUSH的阻塞版本。code
127.0.0.1:6379> BLPOP datalist AN 10 1) "datalist" 2) "AB" 127.0.0.1:6379> BLPOP datalist AN 10 (nil) (10.04s)
# LLEN 返回集合長度 127.0.0.1:6379> LLEN namelist (integer) 3 # LRANGE 返回指定下標中的value 127.0.0.1:6379> LRANGE namelist 0 4 1) "wangwu" 2) "lisi" 3) "zhangsan" #LTRIM 保留指定元素下標的元素 刪除其餘元素 127.0.0.1:6379> LTRIM namelist 0 1 OK 127.0.0.1:6379> LRANGE namelist 0 5 1) "wangwu" 2) "lisi"
以上就是Redis的數據類型的Strings和Lists是經常使用操做指令了,更多其餘指令能夠參考官網,Redis官網,謝謝閱讀,但願對你有所幫助。隊列