簡介
Redis是由意大利人開發的一款內存高速緩存數據庫,是一個高性能的鍵值對(key- value)存儲數據庫
Redis全稱爲: Remote Dictionary Server(遠程數據服務),使用C語言編寫,並之內存做爲數據存儲介質,因此讀寫數據的效率極高
redis
特性
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 ...]
- 設置過時時間:expire key seconds
- persist key 刪除過時時間
- ttl key 查看時間
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