1. 程式人生 > 實用技巧 >Redis與Python互動

Redis與Python互動

Python和redis的互動

安裝包

安裝Redis的有3種方式https://github.com/andymccurdy/redis-py

  • 第一種:聯⽹安裝包redis

    pip install redis

  • 第二種:聯⽹安裝包redis

    easy_install redis

  • 第三種:到中⽂官⽹-客戶端下載redis包的原始碼,使⽤原始碼安裝

    一步步執行 wgethttps://github.com/andymccurdy/redis-py/archive/master.zip
    unzip master.zip
    cd redis-py-master
    sudo python setup.py install

調⽤模組

    • 引⼊模組

      from redis import StrictRedis

    • 這個模組中提供了StrictRedis物件,⽤於連線redis伺服器,並按照不同型別提供 了不同⽅法,進⾏互動操作
    • StrictRedis物件⽅法
      • 通過init建立物件,指定引數host、port與指定的伺服器和端⼝連線,host預設為localhost,port預設為6379,db預設為0
      sr = StrictRedis(host='localhost', port=6379, db=0)
      
      簡寫
      sr=StrictRedis()

      • 根據不同的型別,擁有不同的例項⽅法可以調⽤,與前⾯學的redis命令對應,⽅法需要的引數與命令的引數⼀致

      string

      • set
      • setex
      • mset
      • append
      • get
      • mget
      • key

      keys

      • exists
      • type
      • 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

        準備

        • 安裝 pip install redis
        • 1.在桌面上建立redis_test目錄
        • 2.使用pycharm開啟 redis_test目錄
        • 3.建立redis_test_string.py檔案
        from redis import *
        if __name__=="__main__":
            try:
                #建立StrictRedis物件,與redis伺服器建⽴連線
                sr=StrictRedis()
        
            except Exception as e:
                print(e)
        

        string-增加

        • ⽅法set,新增鍵、值,如果新增成功則返回True,如果新增失敗則返回False
        • 編寫程式碼如下
        from redis import *
        if __name__=="__main__":
            try:
                #建立StrictRedis物件,與redis伺服器建⽴連線
                sr=StrictRedis()
                #新增鍵name,值為itheima
                result=sr.set('name','itheima')
                #輸出響應結果,如果新增成功則返回True,否則返回False
                print(result)
            except Exception as e:
                print(e)
        

        string-獲取

        • ⽅法get,新增鍵對應的值,如果鍵存在則返回對應的值,如果鍵不存在則返回None
        • 編寫程式碼如下
        from redis import *
        if __name__=="__main__":
            try:
                #建立StrictRedis物件,與redis伺服器建⽴連線
                sr=StrictRedis()
                #獲取鍵name的值
                result = sr.get('name')
                #輸出鍵的值,如果鍵不存在則返回None
                print(result)
            except Exception as e:
                print(e)
        

        string-修改

        • ⽅法set,如果鍵已經存在則進⾏修改,如果鍵不存在則進⾏新增
        • 編寫程式碼如下
        from redis import *
        if __name__=="__main__":
            try:
                #建立StrictRedis物件,與redis伺服器建⽴連線
                sr=StrictRedis()
                #設定鍵name的值,如果鍵已經存在則進⾏修改,如果鍵不存在則進⾏新增
                result = sr.set('name','itcast')
                #輸出響應結果,如果操作成功則返回True,否則返回False
                print(result)
            except Exception as e:
                print(e)
        

        string-刪除

        • ⽅法delete,刪除鍵及對應的值,如果刪除成功則返回受影響的鍵數,否則則返 回0
        • 編寫程式碼如下
        from redis import *
        if __name__=="__main__":
            try:
                #建立StrictRedis物件,與redis伺服器建⽴連線
                sr=StrictRedis()
                #設定鍵name的值,如果鍵已經存在則進⾏修改,如果鍵不存在則進⾏新增
                result = sr.delete('name')
                #輸出響應結果,如果刪除成功則返回受影響的鍵數,否則則返回0
                print(result)
            except Exception as e:
                print(e)
        

        獲取鍵

        • ⽅法keys,根據正則表示式獲取鍵
        • 編寫程式碼如下
        from redis import *
        if __name__=="__main__":
            try:
                #建立StrictRedis物件,與redis伺服器建⽴連線
                sr=StrictRedis()
                #獲取所有的鍵
                result=sr.keys()
                #輸出響應結果,所有的鍵構成⼀個列表,如果沒有鍵則返回空列表
                print(result)
            except Exception as e:
                print(e)