redis登錄
#登錄命令 -h 登錄地址 -p 端口 ./redis-cli -h 127.0.0.1 -p 6379
查看緩存大小
#查看緩存大小
dbsize
查看所有Key
#獲取所有的key
keys *
判斷key是否存在
#判斷key是否存在
exists key
查看key的數據類型
# 查看key的數據類型
type key
刪除key數據
# 刪除key數據
del key
異步刪除key數據
僅僅將keys從keyspace元數據中刪除,真正的刪除會在后續異步操作。
#異步刪除key unlink key
指定key設置過期時間
#指定key設置過期時間(秒) expire key 10
查看key的所剩有效時間
# 查看key的剩余時長(秒)( -1 表示永不過期 -2 表示已過期 )
ttl key
切換數據庫
#指定第一個庫 0 1 2 3 4 ..... select 0
清除當前庫
#清除當前庫 flushdb
清除所有數據
#清除所有數據 flushall
退出redis
#退出 exit
= = = String數據類型操作 = = =
key的字符串沒有限制,但是value的字符串最大長度為512M.
添加key,String數據
#添加key,String
set key value
查看key,String數據
#查看key,String數據
get backup0
value值追加字符串
#在value值的末尾追加字符串
append key value
獲取value值的長度
#獲取value值的長度
strlen key
key不存在時添加value
#當key不存在時,添加key value值
setnx key value
value數值自增1
# 當value為數值時,value自增加1,value為空,新增值為1
incr key
value數值自減1
# 當value為數值時,value自減1,value為空,自減值為-1 decr key
添加多個鍵值對
#一次添加多個鍵值對
msetnx key1 value1 key2 value2 key3 value3
查看多個key的值
# 一次查看多個key的值
mget key1 key2 key3
添加多個鍵值對( key必須不存在 )
#添加多個鍵值對,key必須是不存在,並且添加保持原子性,一條失敗全部失敗
msetnx key1 value1 key2 value2 key3 value3
查看value截取某段的值
#類似java的字符串截取 substring, 截取某段的數據顯示(包含下標位)
getrange key index0 index1
覆蓋value指定某段的值
#指定覆蓋value某段的值
setrange key index value
添加值時設置過期時長
#添加key,value時設置過期時長(秒)
setex key seconds value
修改value值同時返回舊值
#覆蓋舊值的同時返回舊值
getset key value
= = = List數據類型操作 = = =
List的數據結構為快速鏈表quickList,但是在元素較少時會使用一塊連續的內存空間存儲,這個結構是zipList(壓縮列表)
從左側插入多個值
#從List鏈表左側插入一個或多個值
lpush key value1 value2 value3 value4
從右側插入多個值
#從List鏈表右側插入一個或多個值
rpush key value1 value2 value3 value4
從左側刪除並返回一個值
#刪除左側一個值並返回刪除的值數據
lpop key
從右側刪除並返回一個值
#刪除右側一個值並返回刪除的值數據 rpop key
刪除key1右側一個值插入key2左側
#刪除key1列表右側一個值,並插入到key2列表的左側
rpoplpush key1 key2
查看列表數據
#查看指定下標段的數據 (查看列表所有數據:0 -1) 0:左邊第一個 -1:右邊第一個 lrange key index0 index1
查看列表指定下標的數據
#查看列表內指定下標的數據(從左到右)
lindex key index
查看列表長度
#查看列表長度
llen key
列表內某值的前方插入值
#指定在列表的某個值前方插入一個值
linsert key before value newvalue
列表內某值的后方插入值
#指定在列表的某個值后方插入一個值
linsert key after value newvalue
從列表左刪除相同檢索值的數據
#從列表左邊查看與檢索值一致的n個數據進行刪除
lrem key num value
指定列表下標進行修改值
#修改列表指定下標的值
lset key index value
= = = Set數據類型操作 = = =
set數據結構是dict字典,字典是用hash表實現的
存儲插入set集合
如果存入的值與集合內數據重復,存入值不生效
# set集合插入多個或一個值
sadd key value1 value2 value3
查看set集合內所有值
# 查詢set集合key的所有值
smembers key
判斷某值是否存在set集合內
# 判斷值是否存在集合內 存在:1 不存在:0 sismember key value
查看集合內元素個數
# 查看集合內元素的個數
scard key
刪除集合內某個元素
# 刪除集合內某些值
srem key value1 value2 value3
刪除集合內隨機一個值並返回
# 刪除並獲取集合內隨機一個值
spop key
隨機查詢集合內n個值
# 查詢集合內隨機n個值
srandmember key n
將key1集合的某個值轉移都key2集合
# 指定值進行集合內轉移
smove key1 key2 value1
查看兩個集合的交集元素
# 查看交集元素
sinter key1 key2
查看兩個集合的並集元素(去重)
# 查看並集元素(去重)
sunion key1 key2
查看兩個集合的差集元素(key2)
# 查看key2集合對比key1集合的差集(key1中包含 但是key2不包含的元素)
sdiff key1 key2
= = = Hash數據類型操作 = = =
Hash是鍵值對對象存儲,string類型的field和value映射表
存儲多個field value對象
# 存儲單個或多個field value
hmset key field1 value1 field2 value2 field3 value3
更新對象內某field的值
# 修改對象內某field的值
hset key field value
查看對象內某field的值
# 查看對象內某field的值
hget key field
判斷對象內某field是否存在
# 判斷對象內某field是否存在
hexists key field
查看對象內所有field
# 查看對象內所有field
hkeys key
查看對象內所有value
# 查看對象內所有value
hvals key
對象內添加新的field
# 對象內添加新的field
hsetnx key field value
= = = Zset有序集合類型操作 = = =
添加多個key value鍵值對
# 添加多個鍵值對 score表示唯一值(用於排序) 一般存儲時間戳
zadd key score1 value1 score2 value2 score3 value3
查看集合內的下標區間的值
# 查看集合內下標區間的值 查看所有的值 0 -1
zrange key 0 -1
查看集合內的下標區間的值(含score)
# 查看集合內下標區間的值 查看所有的值 0 -1 包含score
zrange key 0 -1 withscores
查看從小到大排序后的數據
# 從小到大依次顯示集合內數據(score區間)全部顯示 0 -1
zrangebyscore key min max
# 從小到大依次顯示集合內數據(包含score)
zrangebyscore key min max withscores
# 從小到大依次顯示集合內數據(包含score)取start起始下標的n條數據
zrangebyscore key min max withscores limit start n
查看從大到小排序后的數據
# 從大到小依次顯示集合內數據(score區間)
zrevrangebyscore key max min
# 從大到小依次顯示集合內數據(包含score)
zrevrangebyscore key max min withscores
# 從大到小依次顯示集合內數據(包含score)取start起始下標的n條數據
zrevrangebyscore key max min withscores limit start n
刪除集合內指定元素