1. 程式人生 > >PHP Redis簡介

PHP Redis簡介

NoSQL

NoSQL ,(Not Only SQL),泛指非關係型資料庫。
特點:NoSQL 通常是以key-value形式儲存, 不支援SQL語句, 沒有表結構。
主要NOSQL對比.png

Redis

Redis是Remote Dictionary Server(遠端資料服務)的縮寫,是一種觀念快取資料庫,支援儲存的value型別很多,包括string(字串)、hash(雜湊)、list(連結串列)、set(集合)、Zset(有序集合)。
為什麼要用快取資料庫?就和為什麼要用記憶體條一樣,減少訪問資料庫的次數。

redis與memcache比較

(1)資料型別:memcache支援的資料型別就是字串,redis支援的資料型別有字串,雜湊,連結串列,集合,有序集合。
(2)持久化:memcache資料是儲存到記憶體裡面,一旦斷電,或重啟,則資料丟失。redis資料也是儲存到記憶體裡面的,但是可以持久化,週期性的把資料給儲存到硬盤裡面,導致重啟,或斷電不會丟失資料。
(3)資料量:memcahce一個鍵儲存的資料最大是1M,而redis的一個鍵值,儲存的最大資料量是1G的資料量。

常用操作

存資料:set  key  value
取資料:get  key
刪資料:del  key
type key      檢視key型別
keys pattern  返回指定型別的key
reaname oldkey newkey 重新命名

/*************、、字串、、**************/
取:get  key  value
存:set  key1:incr key1:decr key
加x:incrby key X
減x:decrby key x
取後修改:getset key  value
拼接x:append key x
/*************、、hash、、**************/
取:hget key
欄位 存:hset key 欄位 值 取全部:hgetall key 存多個:hmset key 欄位11 欄位22 ···· 刪除:hdel key 欄位 獲取值:hvals key 獲取欄位:hkeys key /*************、、列表、、**************/ 存:lpush key12 ······ 左取:lrange key 第幾個開始 第幾個結束 左取:lpop key 第幾個開始 第幾個結束 右取:rpop key 第幾個開始 第幾個結束 獲取長度:llen key 頭部插入:lpushx key 值 尾部插入:rpushx key 值 上-下刪除:lrem key
刪幾個幾 下-上刪除:lrem key 負數刪除幾個幾 刪除所有:lrem key 0 刪除的數 插入:linsert key before 值 在值前插入的數 :linsert key after 值 在值後插入的數 移動資料:rpoplpush key1 key 【key1少1 key2多1】 /*************、、set[唯一性]、、**************/ 新增:sadd key123 刪除:srem key12 檢視:smembers key 是否存在:sismembers key 要找的值 差集運算:sdiff key1 key2 交集運算:sinter key1 key2 並集運算:sunion key1 key2 得到數量:scart key 取隨機數:srandmemder key 差集另存:sdiffstore 另存的key key1 key2 交集另存:sinterstore 另存的key key1 key2 並集另存:sunionstore 另存的key key1 key2 /*************、、sorted-set、、**************/ 新增:zadd key1 欄位12 欄位2····· 可以覆蓋:原有的資料可以覆蓋 查詢1個:zscore key 欄位 刪除:zrem key 欄位1 欄位2 產看長度:zcard key 檢視資料;zrange key 0 -1 展示所有對應的資料:zrange key 0 -1 withscores (由小到大) 展示對應的資料:zrevrange key 0 -1 withscores(由大到小) 按順序多個刪除:zremrangebyrank key 要刪除的區間 按分數刪除:zremrangebyscore key 分數的區間 限制條數:zrange key 0 -1 withscores limit 第幾條開始 顯示條數 加減分數:zincrby(zdecrby) key 加減分數(3) 欄位(李四) 統計條數:zcount key 區間 /*************、、key的應用、、**************/ 修改key:rename 原名 新名 過期時間:expire key 時間(1000秒) 檢視過期時間:ttl key 檢視型別:type key redis的特性 多資料庫 最多提供16個數據庫 預設使用的是0號資料庫 選擇資料庫:select 庫的編號 資料換庫:move key 資料庫的編號 支援事務 multi 開啟事務 exec 提交事務 discard 回滾 redis持久化 RDB ( 可以拷貝資料,但是斷網都不存在) AOF (安全,斷網了,修改的資料會丟失,出現斷網,日誌檔案不會丟失,檔案過大,可以重寫)