1. 程式人生 > >002-Redis五種資料型別-設定key的過期時間

002-Redis五種資料型別-設定key的過期時間

1、redis命令客戶端 [[email protected] bin]# ./redis-cli 127.0.0.1:6379> #是否執行著 127.0.0.1:6379> ping PONG Redis五種資料型別:String、Hash、List、Set、SortedSet Redis中所有的資料都是字串。命令不區分大小寫,key是區分大小寫的。Redis是單執行緒的。Redis中不適合儲存內容大的資料。 Stringkey-value(做快取) set key值 value值 127.0.0.1:6379> set str1 abc OK get key值 127.0.0.1:6379> get str1 "abc" incr key值
將對應value值遞增1 (生成id, 網站訪問量 127.0.0.1:6379> incr key1 (integer) 1 127.0.0.1:6379> incr key1 (integer) 2 127.0.0.1:6379> get key1 "2" decr key值 將對應value值遞減1 127.0.0.1:6379> decr key1 #2減1等於1了 (integer) 1 127.0.0.1:6379> decr key1 (integer) 0 127.0.0.1:6379> decr key1 (integer) -1 127.0.0.1:6379> get key1 "-1" del key值
刪除指定key值 127.0.0.1:6379> set key2 bbb OK 127.0.0.1:6379> keys * 1) "key1" 2) "key2" 3) "str1" 127.0.0.1:6379> del key2 (integer) 1 decrby key值 增量值 將對應value值按增量值遞減 incrby key值 增量值 將對應value值按增量值遞增 mset key值 value值 key值 value值 後面跟多個鍵值對 其他: keys * 查詢redis中儲存的所有key值 127.0.0.1:6379> keys * 1) "str1" Hash
key-fields-value(做快取) 相當於一個key對於一個mapmap中還有key-value 使用hashkey進行歸類。 hsetkey fields values hash中key值新增內容fileds-value值 127.0.0.1:6379> hset hash1 field1 11 (integer) 1 127.0.0.1:6379> hset hash1 field2 22 (integer) 1 127.0.0.1:6379> hset hash1 field3 33 (integer) 1 hgetkey fields hashkey值取內容fileds中的value值 127.0.0.1:6379> hget hash1 field1 "11" 127.0.0.1:6379> keys * 檢視所有key值 1) "key3" 2) "key4" 3) "hash1" 4) "key1" 5) "str1" hkeys key值 檢視key下面的所有field值 127.0.0.1:6379> hkeys hash1 檢視hash正在的hash1下的所有field值 1) "field1" 2) "field2" 3) "field3" hvals key值 檢視key值下面的所有value值 127.0.0.1:6379> hvals hash1 查詢hash1下面的所有value值 1) "11" 2) "22" 3) "33" hgetall key值 檢視key值下面的所有field-value鍵值對 127.0.0.1:6379> hgetall hash1 查詢hash1下面的所有field-value 1) "field1" 2) "11" 3) "field2" 4) "22" 5) "field3" 6) "33" hdel key值 field值 刪除指定key值下面的field值 127.0.0.1:6379> hkeys hash1 1) "field1" 2) "field2" 3) "field3" 127.0.0.1:6379> hdel hash1 field1 刪除hash1下面的field1 (integer) 1 127.0.0.1:6379> hkeys hash1 1) "field2" 2) "field3" List:有順序可重複(處理不完時,排隊相關處理) lpush key值 value1值 value2值 … #向key的左邊追加value值 127.0.0.1:6379> lpush list1 1 2 3 4 5 (integer) 4 #從左往右,查詢key值中startIndex到endIndex的所有值, endIndex=-1表示最後 lrange key值 startIndex endIndex 127.0.0.1:6379> lrange list1 0 -1 1) "5" 2) "4" 3) "3" 4) "2" 5) "1" lpush key值 value1值 value2值 … #向key的右邊追加value值 127.0.0.1:6379> rpush list1 a b c d f (integer) 10 127.0.0.1:6379> lrange list1 0 -1 1) "5" 2) "4" 3) "3" 4) "2" 5) "1" 6) "a" 7) "b" 8) "c" 9) "d" 10) "f" lpop key值 #從key值裡的左邊取出1個元素值,取出後從key值消失,返回取出的值 127.0.0.1:6379> lpop list1 "5" 127.0.0.1:6379> lrange list1 0 -1 1) "4" 2) "3" 3) "2" 4) "1" 5) "a" 6) "b" 7) "c" 8) "d" 9) "f" rpop key值 #從key值裡的右邊取出1個元素值,取出後從key值消失,返回取出的值 127.0.0.1:6379> rpop list1 "f" 127.0.0.1:6379> lrange list1 0 -1 1) "4" 2) "3" 3) "2" 4) "1" 5) "a" 6) "b" 7) "c" 8) "d" Set:元素無順序,不能重複(去重) sadd key值 value1值 value2值 … #向key的新增value值 ,如果有重複資料會只保留一個 127.0.0.1:6379> sadd set1 a a b b c d (integer) 4 smembers key值 查詢key值中所有value值 127.0.0.1:6379> smembers set1 1) "d" 2) "a" 3) "c" 4) "b" srem key值 value值 刪除key值中的value值 127.0.0.1:6379> srem set1 d (integer) 1 127.0.0.1:6379> smembers set1 1) "a" 2) "c" 3) "b" 集合運算命令:差集sdiff 、交集sinter 、並集sunion: 127.0.0.1:6379> sadd seta a b c d (integer) 4 127.0.0.1:6379> sadd setb c d e f (integer) 4 sdiff key1值 key2值 取差集key1值集合中所特有的元素 127.0.0.1:6379> sdiff seta setb #取seta中所特有的 1) "a" 2) "b" 127.0.0.1:6379> sdiff setb seta #取setb中所特有的 1) "e" 2) "f" sinter key1值 key2值 取交集key1值與key2值集合中相同的元素 127.0.0.1:6379> sinter seta setb 1) "d" 2) "c" sunion key1值 key2值 取並集key1值與key2值集合中所有元素 127.0.0.1:6379> sunion seta setb 1) "d" 2) "f" 3) "c" 4) "b" 5) "a" 6) "e" SortedSetzset):有順序,不能重複 (伺服器消耗最高,要排序還要去重,儘量少用,) zadd key值 分數1 value1 分數2 value2 … 向key的新增多個value值,按分數進行排序 192.168.25.153:6379> zadd zset1 1 a 3 b 2 c 4 d (integer) 4 #升序排列查詢key值中startIndex到endIndex的所有值, endIndex=-1表示最後 zrange key值 startIndex endIndex 127.0.0.1:6379> zrange zset1 0 -1 1) "a" 2) "c" 3) "b" 4) "d" #降序排列查詢key值中startIndex到endIndex的所有值, endIndex=-1表示最後 zrevrange key值 startIndex endIndex 127.0.0.1:6379> zrevrange zset1 0 -1 1) "d" 2) "b" 3) "c" 4) "a" zrem key值 value值 刪除key值中會value值 127.0.0.1:6379> zrem zset1 a (integer) 1 127.0.0.1:6379> zrange zset1 0 -1 1) "c" 2) "b" 3) "d" zrange key值 0 -1 withscores 查詢出key中的value與分數值 127.0.0.1:6379> zrange zset1 0 -1 withscores 1) "c" 2) "2" 3) "b" 4) "3" 5) "d" 6) "4" 設定key的過期時間: 1、expire key second:設定key的過期時間(秒) 127.0.0.1:6379> expire key1 100 key1在100秒後過期 (integer) 1 2、ttl key:檢視key的有效期 127.0.0.1:6379> ttl key1 (integer) 73 大於0,還剩餘多少秒存活時間 127.0.0.1:6379> ttl key1 (integer) -2 -2 不存在redis中, 127.0.0.1:6379> ttl list1 (integer) -1 -1 永久有效,持久化 3、persist key:清除key的過期時間。Key持久化。 127.0.0.1:6379> set str2 bbb 新增str2值 OK 127.0.0.1:6379> ttl str2 檢視str2目前的有效期:持久化 (integer) -1 127.0.0.1:6379> expire str2 100 設定str2的有效期100秒 (integer) 1 127.0.0.1:6379> ttl str2 檢視str2目前的有效期:倒計時 (integer) 96 127.0.0.1:6379> persist str2 清除str2的過期時間 (integer) 1 127.0.0.1:6379> ttl str2 檢視str2目前的有效期:持久化 (integer) -1 想要相關視訊教程,請瀏覽java視訊教程:https://itzxg.taobao.com/