Redis常用知識
1、redis是什麼
redis是一種支援Key-Value等多種資料結構的儲存系統。可用於快取、事件釋出或訂閱、高速佇列等場景。該資料庫使用ANSI C語言編寫,支援網路,提供字串、雜湊、列表、佇列、集合結構直接存取,基於記憶體,可持久化。
2、支援的語言
3、redis的應用場景有哪些
1、會話快取(最常用)
2、訊息佇列,比如支付
3、活動排行榜或計數
4、釋出、訂閱訊息(訊息通知)
5、商品列表、評論列表等
4、redis資料型別
Redis一共支援五種資料類:string(字串)、hash(雜湊)、list(列表)、set(集合)和zset(sorted set 有序集合)。
(1)string(字串)
它是redis最基本的資料型別,一個key對應一個value,需要注意是一個鍵值最大儲存512MB。
(2)hash(雜湊)
redis hash是一個鍵值對的集合, 是一個string型別的field和value的對映表,適合用於儲存物件
(3)list(列表)
是redis簡單的字串列表,它按插入順序排序
(4)set(集合)
是string型別的無序集合,也不可重複
(5)zset(sorted set 有序集合)
是string型別的有序集合,也不可重複
sorted set中的每個元素都需要指定一個分數,根據分數對元素進行升序排序,如果多個元素有相同的分數,則以字典序進行升序排序,sorted set 因此非常適合實現排名
5、redis服務相關的命令
1) 連線
可以通知給本機安裝redis客戶端進行連線,也可以通過xshell連線一臺安裝了redis客戶端的機器來連線redis客戶端。
給本機安裝客戶端:安裝包 連結: https://pan.baidu.com/s/11s4UikjXLh6QvnkHvGmGzg 提取碼: aqj7
直接解壓,然後執行中輸入cmd,進入解壓存放的資料夾,選擇對應作業系統,進入到redis-cli.exe所在位置,
連線redis的命令:redis-cli -h redis主機ip地址 -p 埠號
或者直接xshell連線到已有redis客戶端的主機,用同樣的命令連線redis即可。
退出redis連線:ctrl+c 即可,或者quit命令
2)伺服器相關的命令
ping PONG返回響應是否連線成功
echo 在命令列列印一些內容
select 0~15 編號的資料庫
quit /exit 退出客戶端
dbsize 返回當前資料庫中所有key的數量
info 返回redis的相關資訊
config get dir/* 實時傳儲收到的請求
flushdb 刪除當前選擇資料庫中的所有key
flushall 刪除所有資料庫中的資料庫
3)鍵值相關命令
keys * 取出當前所有的key
exists name 檢視n是否有name這個key
del name 刪除key name
expire confirm 100 設定confirm這個key100秒過期
ttl confirm 獲取confirm 這個key的有效時長
select 0 選擇到0資料庫 redis預設的資料庫是0~15一共16個數據庫
move confirm 1 將當前資料庫中的key移動到其他的資料庫中,這裡就是把confire這個key從當前資料庫中移動到1中
persist confirm 移除confirm這個key的過期時間
randomkey 隨機返回資料庫裡面的一個key
rename key2 key3 重新命名key2 為key3
type key2 獲得鍵值的資料型別
set key value 賦值 get key 取值
Redis Zrange 命令
Redis Zrange 返回有序集中,指定區間內的成員。
其中成員的位置按分數值遞增(從小到大)來排序。
具有相同分數值的成員按字典序(lexicographical order )來排列。
如果你需要成員按
值遞減(從大到小)來排列,請使用 ZREVRANGE 命令。
下標引數 start 和 stop 都以 0 為底,也就是說,以 0 表示有序集第一個成員,以 1 表示有序集第二個成員,以此類推。
你也可以使用負數下標,以 -1 表示最後一個成員, -2 表示倒數第二個成員,以此類推。
redis 127.0.0.1:6379> ZRANGE key start stop [WITHSCORES]
eg:
redis 127.0.0.1:6379> ZRANGE salary 0 -1 WITHSCORES # 顯示整個有序整合員
redis 127.0.0.1:6379> ZRANGE salary 1 2 WITHSCORES # 顯示有序集下標區間 1 至 2 的成員
redis 127.0.0.1:6379> ZRANGE salary 0 200000 WITHSCORES # 測試 end 下標超出最大下標時的情況
redis > ZRANGE salary 200000 3000000 WITHSCORES # 測試當給定區間不存在於有序集時的情況
整理自:
http://www.runoob.com/redis/sorted-sets-zrange.html
https://blog.csdn.net/wclxyn/article/details/8449082
https://blog.csdn.net/zhang918784312/article/details/79731527
https://jingyan.baidu.com/article/49ad8bce4409435834d8fa3e.html
https://blog.csdn.net/middleware2018/article/details/80355418
https://blog.csdn.net/hjm4702192/article/details/80518856