reids

1. NoSQL

1.1 NoSQL是什麼

  • 泛指非關係型的數據庫
  • 不適用於SQL語法
  • 存儲形式是鍵值對(key,value)
  • 每種nosql數據庫都有本身的語法和api,及擅長的領域

1.2 redis的特性

  1. Redis 與其餘 key - value 緩存產品有如下三個特色:
  2. Redis支持數據的持久化,能夠將內存中的數據保存在磁盤中,重啓的時候能夠再次加載進行使用。
  3. Redis不單單支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
  4. Redis支持數據的備份,即master-slave模式的數據備份。

1.3 Redis的優點

  • 性能極高,讀寫速度極快
  • 豐富的數據類型
  • Redis的全部操做都是原子性
  • 豐富的特性

2. Redis數據庫的操做

  • 服務器端的命令爲:redis-server
  • 客戶端的命令爲:redis-cli
  • 可使--help查看幫助文檔:redis-cli --help
  • 鏈接redis:redis-cli
  • 切換數據庫:select num

2.1 string類型

  1. 值命令
  • 設置鍵值:set key value
  • 設置鍵值及過時時間,以秒爲單位:setex key seconds value
  • 設置多個鍵值:mset key1 value1 key2 value2 ...
  • 追加值:append key value
  • 根據鍵獲取值,若是不存在此鍵則返回nil:get key
  • 根據多個鍵獲取多個值:mget key1 key2 ..
  1. 鍵命令
  • 查找鍵,參數支持正則表達式:keys pattern
  • 判斷鍵是否存在,若是存在返回1,不存在返回0:exists key1
  • 查看鍵對應的value的類型:type key
  • 刪除鍵及對應的值:del key1 key2 ...
  • 若是沒有指定過時時間則一直存在,直到使用DEL移除:expire key seconds
  • 查看有效時間,以秒爲單位:ttl key

2.2 hash類型

  • 設置單個屬性:hset key field value
  • 設置多個屬性:hmset key field1 value1 field2 value2 ...
  • 獲取指定鍵全部的屬性:hkeys key
  • 獲取單個屬性的值:hget key field
  • 獲取多個屬性的值:hmget key field1 field2 ...
  • 獲取全部屬性的值:hvals key
  • 刪除屬性,屬性對應的值會被一塊兒刪除:hdel key field1 field2 ...

2.3 zset類型

  • 添加:zadd key score1 member1 score2 member2 ...
  • start、stop爲元素的下標索引,索引從左側開始,第1個元素爲0,索引能夠是負數,表示從尾部開始計數,如-1表示最後一個元素:zrange key start stop
  • 返回score值在min和max之間的成員:zrangebyscore key min max
  • 返回成員member的score值:zscore key member
  • 刪除指定元素:zrem key member1 member2 ...
  • 刪除權重在指定範圍的元素:zremrangebyscore key min max

3. Redis與python的交互

  1. 經過init建立對象,指定參數host、port與指定的服務器和端⼝鏈接,host默認爲localhost,port默認爲6379,db默認爲0
  2. 根據不一樣的類型,擁有不一樣的實例方法能夠調用,與前⾯學的redis命令對應,⽅法須要的參數與命令的參數一致
sr = StrictRedis(host='localhost', port=6379, db=0)

簡寫
sr=StrictRedis()
複製代碼

string

  • setpython

  • setex正則表達式

  • msetredis

  • appendsql

  • get數據庫

  • mgetapi

  • key緩存

  • keys服務器

  • exists數據結構

  • typeapp

  • delete

  • expire

  • getrange

  • ttl

hash

  • hset
  • hmset
  • hkeys
  • hget
  • hmget
  • hvals
  • hdel

list

  • lpush
  • rpush
  • linsert
  • lrange
  • lset
  • lrem

set

  • sadd
  • smembers
  • srem

zset

  • zadd
  • zrange
  • zrangebyscore
  • zscore
  • zrem
  • zremrangebyscore

連接Redis,實現增刪改查等命令

from redis import *
if __name__=="__main__":
    try:
        #建立StrictRedis對象,與redis服務器建⽴鏈接
        sr=StrictRedis()

    except Exception as e:
        print(e)
複製代碼
相關文章
相關標籤/搜索