Redis的五大數據類型
redis的數據都是以key/value
存儲,所以說,五大類型指的是value
的數據類型
String
字符串,作為redis的最基本數據類型
redis中的string類型是二進制安全,即它可以保存任何數據,比如一張圖片序列化為一段二進制字符串
redis的string類型大小上限是512M
List
簡單有序字符串列表,安裝插入的順序排序。
在redis中,我們可以選擇性是從list的同步還是尾部插入元素。在獲取list里面的元素的時候,
也可以選擇性是從頭部還是尾部彈出元素
Hash
類似於java中Map,鍵值對集合。很適合存儲java中的對象
Set
無序的字符串列表,set中的元素不允許重復值
ZSet
和set一樣是字符串的集合,不同的是zset中每個元素會關聯一個double類型的分數,zset中元素是唯一的,
但是每個元素關聯的分數允許重復
Redis的key相關命令
set
表示插入一條記錄
>set key value
ok
del
刪除一個存在的key
127.0.0.1:6379> del name
(integer) 1
1表示數據刪除成功,影響的條目
dump
可以序列化指定的key,並返回系列后的值
exists
判斷一個指定的key是否存在
127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists age
(integer) 0
1表示存在一個,0表示不存在
expire
可以給key設置有效期,有效期之后,key會銷毀
單位以秒計
127.0.0.1:6379> expire name 10
(integer) 1
ttl
查看一個key的剩余有效期
127.0.0.1:6379> ttl name
(integer) 42
127.0.0.1:6379>
返回值就是剩余秒數,如果是-1,說明給key沒有過期時間,如果是-2,說明這個key已經不存在了
persist
移出給定key的有效期
127.0.0.1:6379> ttl name
(integer) 93
127.0.0.1:6379> persist name
(integer) 1
127.0.0.1:6379> ttl name
(integer) -1
pexpire
設置過期時間,毫秒單位
pttl
獲取過期時間,單位是毫秒
keys
獲取滿足條件的所有key
127.0.0.1:6379> keys na*
1) "name2"
2) "name"
注意,返回的不是key的值,而是key的名字
type
獲取給定的key存儲的數據類型
127.0.0.1:6379> type name
string
rename
修改key的名稱
127.0.0.1:6379> rename name username
OK
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> get username
"jack"
127.0.0.1:6379>
randomkey
隨機返回一個key
127.0.0.1:6379> randomkey
"test15035"
返回的是key的名稱
flushall
清除某個db中的所有key