簡介
Redis是由意大利人開發的一款記憶體高速快取資料庫,是一個高性能的鍵值對(key- value)存盤資料庫
Redis全稱為: Remote Dictionary Server(遠程資料服務),使用C語言撰寫,并以記憶體作為資料存盤介質,所以讀寫資料的效率極高
特性
Redis支持資料的持久化,可以將記憶體中的資料保存在磁盤中,重啟的時候可以再次加載進行使用
Redis不僅僅支持簡單的key-value型別的資料,同時還把value分為list,set,zset,hash等資料結構存盤
因為Redis交換資料快,所以在服務器中常用來存盤一些需要頻繁調取的資料,提高效率
資料結構
redis是key-value的資料結構,每條資料都是一個鍵值對
鍵的型別是字串,注意:鍵不能重復
值的型別分為五種
- String ------> 字串
- List ------> 串列
- Hash ------> 哈希
- Set ------> 集合
- Zset ------> 有序集合
基本使用
連接redis:redis-cli
退出:exit
操作服務端:sudo service redis start/stop/restart
切換資料庫:select n
- 資料庫沒有名稱,默認有16個,通過0-15來標識,連接redis默認選擇第一個資料庫
五大資料型別使用
全域key操作
- 對redis的五個資料型別都適用的命令
- 查看所有的key:keys *
- 查看key的型別:type key
- 改名:rename key new_key
- 洗掉鍵值對:del key [key2 key3 ...]
- exists key 查看key是否存在
- 設定過期時間:expire key seconds
- persist key 洗掉過期時間
- ttl key 查看時間
- -1:沒設定過期時間
- -2:不存在這個鍵
String型別
- string是redis最基本的型別,一個key對應一個value
- 增加資料:set key value(如果key存在,則修改為新的value)
- 查看資料:get key
- 追加資料:append key value
- 洗掉資料:del key
List型別
- List型別是一個字串串列,可以在串列頭部或尾部添加/洗掉資料,在插入資料時,如果該鍵并不存在,Redis將為該鍵創建一個
- 添加資料
- 在末尾添加(串列右邊):rpush key value1 [value2 ...]
- 在頭部添加(串列左邊):lpush key value1 [value2 ...]
- 查看資料
- 下標范圍:lrange key start stop
- 指定下標:lindex key index
- 修改資料:lset key index value
- 洗掉資料
- 從末尾洗掉(串列右邊):rpop key
- 從頭部洗掉(串列左邊):lpop key
- 指定值洗掉:lrem key count(可以存在多個重復的值,指定value洗掉的次數) value
Hash型別
- hash型別的值是一個鍵值對集合,如:h_test : { field1:value1, field2:value2,...}
- 添加資料:hset key field value
- 查看域值:hget key field
- 查看所有的field:hkeys key
- 查看所有的value:hvals key
- 查看所有的鍵值對:hgetall key
Set型別
- Set型別為無序的字符集合,元素具有唯一性, 不重復
- 添加資料:sadd key member1 [member2 ...]
- 查看資料:smembers key
- 隨機洗掉:spop key
- 指定洗掉:srem key member1 [member2 ...]
Sorted Set型別
- 每一個成員都會有一個分數(score)與之關聯,成員是唯一的,但是分數(score)卻是可以重復的,比如把一個班級的學生分成幾組
- 添加資料: zadd key score member [score2 member2 …]
- 查看資料
- 根據索引:zrange key start stop
- 根據score:zrangebyscore key min max
- 洗掉資料
- 根據值:zrem key member [member …]
- 根據索引:zremrangebyrank key start stop
- 根據score:zremrangebyscore key min max
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/32656.html
標籤:NoSQL
上一篇:NoSQL簡介
下一篇:redis 底層資料結構
