1. 程式人生 > >Python連線Redis【redis-py】

Python連線Redis【redis-py】

#!/usr/bin/env python  
# encoding: utf-8
""" 
@contact: [email protected] 
@software: PyCharm 
@file: sql_redispy.py 
@time: 2018/6/8 11:19 
"""
import redis


class TestRedis(object):
    def __init__(self):
        self.r = redis.StrictRedis(host='192.168.199.151',port=6379, db=1)

    # String Key
def test_set(self): """set -- 設定單個鍵值""" rest = self.r.set('user1', 'Amy') return rest # 返回True or Flase def test_get(self): """get -- 獲取單個鍵值""" rest = self.r.get('user1') return rest def test_mset(self): """mset -- 設定多個鍵值 ,傳入dict"""
d = { 'user2': 'James', 'user3': 'Sakura', 'user4': 'Gaara' } rest = self.r.mset(d) return rest # 返回True or Flase def test_mget(self): """mget -- 獲取多個鍵值,傳入list或者tuple""" t=('user2', 'user3', 'user4') rest = self.r.mget(t) return
rest def test_del(self): """del -- 刪除單個鍵值""" rest = self.r.delete(('user1')) return rest # 返回1 or 0 def test_incr(self): """incr -- 鍵值增加1""" self.r.set('age1',33) rest = self.r.incr('age1') return rest # 但會增加後鍵值結果 # List def test_push(self): """lpush/rpush -- 從左/右插入資料 names1:['Amy', 'Jhon]""" # rest = self.r.lpush('names1', 'Amy', 'Jhon') t = ('Amy1', 'Jhon1') rest = self.r.lpush('names1', *t) return rest def test_lrange(self): """lrange -- 查詢List""" rest = self.r.lrange('names1', 0, -1) return rest def test_pop(self): """lpop/rpop -- 刪除最左/右邊的元素,並返回該元素""" rest = self.r.lpop('names1') return rest # Set def test_sadd(self): """sadd -- 新增元素 zoo1:{'Dog', 'Cat'}""" # return self.r.sadd('zoo1', 'Cat', 'Dog', 'Cat1', 'Dog1', 'Cat2', 'Dog2') # 返回新增元素數 t = ('Cat', 'Dog', 'Cat1', 'Dog1', 'Cat2', 'Dog2') return self.r.sadd('zoo2', *t) def test_smembers(self): """smembers -- 查詢元素""" return self.r.smembers('zoo2') def test_srem(self): """ srem 刪除元素""" # return self.r.srem('zoo1', 'Dog2', 'Dog1') # 返回刪除元素數 list = ['Dog2', 'Dog1'] return self.r.srem('zoo2', *list) def test_sinter(self): """ sinter集合交集""" return self.r.sinter('zoo1', 'zoo2') # 返回集合交集 def test_sunion(self): """sunion集合並集""" arg = ['zoo1', 'zoo2'] return self.r.sunion(*arg) # 返回集合並集 def test_sdiff(self): """ sdiff 返回集合直接與其他集合的差異""" return self.r.sdiff('zoo1', 'zoo2') # 返回 zoo1中zoo2沒有的集合 # Hash 雜湊 def test_hset(self): """hset 設定雜湊""" return self.r.hset('news:id_001', 'title', 'The News!') # 返回0/1 def test_hget(self): """hget 獲取雜湊結果,hexists 判斷是否有鍵值""" if self.r.hexists('news:id_001', 'title'): return self.r.hget('news:id_001', 'title') # 返回結果 def test_hmset(self): """hmset 設定雜湊""" m = { 'title': 'The News1 !', 'content': 'The News1 content', 'aurth': 'Sakura' } return self.r.hmset('news:id_0002',m) # 返回True or False def test_hmget(self): """hmget 獲取雜湊""" return self.r.hmget('news:id_0002', 'title', 'content') # 返回List def test_hvals(self): """hvals獲取雜湊""" if self.r.hkeys('news:id_0002'): # hkeys:如果雜湊存在 return self.r.hvals('news:id_0002') # 返回List def main(): obj = TestRedis() # String Key # print(obj.test_set()) # print(obj.test_get()) # print(obj.test_mset()) # print(obj.test_mget()) # print(obj.test_del()) # print(obj.test_incr()) # List # print(obj.test_push()) # print(obj.test_lrange()) # print(obj.test_pop()) # Set # print(obj.test_sadd()) # print(obj.test_smembers()) # print(obj.test_srem()) # print(obj.test_sinter()) # print(obj.test_sunion()) # print(obj.test_sdiff()) # Hash # print(obj.test_hset()) # print(obj.test_hget()) # print(obj.test_hmset()) # print(obj.test_hmget()) # print(obj.test_hvals()) if __name__ == "__main__": main()

相關推薦

Python連線Redisredis-py

#!/usr/bin/env python # encoding: utf-8 """ @contact: [email protected] @software: PyCharm @file: sql_redispy.py @time:

《機器學習》程式設計作業的Python實現ex1_multi.py

Python程式碼 import numpy as np import matplotlib.pyplot as plt def featureNormalize(X): X_norm = X mu = np.zeros((1, X.shape[1])) sigma

《機器學習》程式設計作業的Python實現ex1.py

Python程式碼 from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as plt # ============= warmUpExercise ================

Python連線MongoDBmongoengine

#!/usr/bin/env python # encoding: utf-8 from datetime import datetime from mongoengine import connect, Document, StringField, I

Python之路第二篇計算機組成

時鐘頻率 space font 存儲 bit 硬件組成 第二篇 時鐘 速度慢 硬件組成:輸入單元、輸出單元、中央處理單元、存儲單元 南橋:I/O操作 北橋:CPU操作 0/1的單位稱為bit(位) bit是計算機中能識別的最小單位。 字節是計算機中最小的存儲單位。 8b

Python之路第一篇:Python簡介和入門

源碼 world 網絡服務 換行 編程風格 大小寫 utf8 編譯安裝 比較 python簡介: 一、什麽是python Python(英國發音:/ pa θ n/ 美國發音:/ pa θɑ n/),是一種面向對象、直譯式的計算機程序語言。 每一門語言都有自己的哲學: py

Python進階第一篇Python簡介

代碼 簡潔 處理 ros 進一步 基礎 得到 運行速度 動態 Python簡介 1.Python的由來 Python是著名的“龜叔”Guido van Rossum在1989年聖誕節期間,為了打發無聊的聖誕節而編寫的一個編程語言。 2.C 和 Python、Java、C#等

Python之路第一篇:使用miniconda安裝python多版本

ase alias linux 1.10 ade ror another 離開 cer 一、簡介 Anaconda是一個發行包,裏面集成打包了很多的軟件包,使用conda包管理器來安裝軟件,比較方便,但是Anaconda軟件包太大,個人不太喜歡,想自己定制。Minicond

Python之路第一篇Python簡介和入門

readline def 美團 sys eric gcc 下劃線 博客 height Python簡介 Python前世今生 python的創始人為吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·範羅蘇姆為了在阿姆斯特丹打發時間,決心開發

Python面試題BAT版

  寫在前面 今天給大家分享2018年BAT面試過程中的python的相關問題。所有的面試題和答案均來源於網路,如有侵權請及時聯絡,答案如有不正確還請各位及時指正。為面試而生希望各位都能化身offer收割機。   問題清單 Python語言特性 1.Pyt

python基礎之元組 (04)

Python 的元組與列表類似,不同之處在於元組的元素不能修改。 元組使用小括號,列表使用方括號。 元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。   tup1 = ('Google', 'Runoob', 1997, 2000);   元組

(超實用)利用Python 內建下載伺服器傳輸檔案

1. 首先進入我想要傳輸的檔案所在的目錄 假設我要傳輸的檔案在/home/pi 目錄下: cd /home/pi/ 2. 然後啟動一個下載伺服器 python3 版: python3 -m http.server python2 版: python -m

python生成gif簡明教程

簡述 網上看到動圖,覺得蠻有意思的。特別是,有時候人工智慧想要展現模型的動態進化的效果。就需要這樣的工具了。(要是有別的目的也是ok的) 這種方法是可以將一些圖片組合起來生成gif圖。 我之前寫的這篇文章就實現了這個。 基於MNIST的GANs實現【Pytorc

Python入門基礎第一天

一、Python簡介   Python是一種計算機程式設計語言。是一種動態的、面向物件的指令碼語言,最初被設計用於編寫自動化指令碼(shell),隨著版本的不斷更新和語言新功能的新增,越來越多被用於獨立的、大型專案的開發。 Python的創始人為Guido van Rossum。1989年聖誕節期間,

09--MySQL自學教程:多表查詢之內連線、外連線以及子查詢

1.為什麼要拆表? 去除冗餘資料 2.表與表之間的關係 一對一 比如 人和身份證 QQ和QQ密碼 一對多(多對一) 比如:學生和成績的關係 多對多 比如:老師和學生的關係 3

雷子介面測試框架(基於json格式、http請求)基於Excel檔案管理測試用例(python+requests)github+原始碼

這個專案的github地址 基於http請求,json格式測試框架,Excel管理測試用例(北京●雷子(QQ:952943386).rar 介面測試框架(基於json格式、http請求) 注:現在基於Excel檔案管理測試用例基本實現,yaml檔案管

Python刷LeetCode1.TwoSum

class Solution: def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype:

python刷PAT小結1

題前閒言 乙級的題目的難度基本上是實現一個簡單的基本功能,本次總結的幾題中,部分A+B,A除以B 為簡單題,錘子剪刀布 ,數字黑洞, 月餅為邏輯題。最近基本上以一天2小時,4個題目的進度刷題。不很費神,主要以熟悉語法為目的,不涉及資料結構,以下內容為給自己做筆記為主。

python 學習筆記裝飾器

裝飾器 (Decorator) 在 Python 程式設計中極為常見,可輕鬆實現 Metadata、Proxy、 AOP 等模式。簡單點說,裝飾器通過返回包裝物件實現間接呼叫,以此來插入額外邏輯。語法看上去和 Java Annotation、C# Attribute 類似,但不僅僅是新增元資料。

分享一個簡單易用的python並行模組PP模組

目前個人計算機大都是多核的,但是在執行python程式的時候會發現實際上只有一個核心(CPU)在跑程式碼,另外幾個核心都在偷懶呢,如下圖  平行計算的目的是將所有的核心都執行起來以提高程式碼的執行速度,在python中由於存在全域性直譯器鎖(GIL)如果使用預設的python多執行緒進行平行計算可能會發現程