前沿:隨着互聯網的高速發展,數據變得愈來愈重要,Python成爲了人工智能的熱門語言,而Nosql數據庫已成爲平常開發用品。html
今天要寫的是Python操做Redispython
Redis的安裝我就不介紹了,你能夠看看Redis一系列的文章 我也有關於Redis安裝一文.web
https://www.cnblogs.com/ZaraNet/p/9433935.htmlredis
雖然Python是個大熱門,但其方向不在於Web端,很是適合數據挖掘,我是web方向的工程師.. 熱衷於.NET/C#,但也喜歡Python ,若是想要腳踏兩隻船,能夠經過intro的nuget包進行二者兼容。sql
正文:數據庫
一.Python鏈接Redisapp
開發工具爲Pycharm,包:Redis。能夠直接進行安裝第三方模塊工具
redis-py提供兩個類Redis和StrictRedis用於實現Redis的命令,StrictRedis用於實現大部分官方的命令,並使用官方的語法和命令,Redis是StrictRedis的子類開發工具
操做:人工智能
一.string 操做
添加值:
set(name, value, ex=None, px=None, nx=False, xx=False)
參數:
ex,過時時間(秒)
px,過時時間(毫秒)
nx,若是設置爲True,則只有name不存在時,當前set操做才執行
xx,若是設置爲True,則只有name存在時,崗前set操做才執行
能夠漸變爲 setnx(name, value)、psetex(name, time_ms, value)、setex(name, value, time)
獲取值:get(name)根據key進行獲取
還能夠在獲取的時候去截取值
getrange(key, start, end)
Hash操做
設置值
hset(name, key, value)
若是已經有這個name了 就修改,若是沒有就建立
hmset(name, mapping)
在name對應的hash中批量設置鍵值對 例如
r.hmset('xx', {'k1':'v1', 'k2': 'v2'})
獲取值
hget(name,key)
1 # 在name對應的hash中獲取根據key獲取value
hgetall(name)
1 獲取name對應hash的全部鍵值
hlen(name)
1 # 獲取name對應的hash中鍵值對的個數
hkeys(name)
1 # 獲取name對應的hash中全部的key的值
hvals(name)
1 # 獲取name對應的hash中全部的value的值
hexists(name, key)
1 # 檢查name對應的hash是否存在當前傳入的key
hdel(name,*keys)
1 # 將name對應的hash中指定key的鍵值對刪除
操做list
lpush(name,values)
1 # 在name對應的list中添加元素,每一個新的元素都添加到列表的最左邊 2 3 # 如: 4 # r.lpush('oo', 11,22,33) 5 # 保存順序爲: 33,22,11 6 7 # 擴展: 8 # rpush(name, values) 表示從右向左操做
lpushx(name,value)
1 # 在name對應的list中添加元素,只有name已經存在時,值添加到列表的最左邊 2 3 # 更多: 4 # rpushx(name, value) 表示從右向左操做
llen(name)
1 # name對應的list元素的個數
linsert(name, where, refvalue, value))
1 # 在name對應的列表的某一個值前或後插入一個新值 2 3 # 參數: 4 # name,redis的name 5 # where,BEFORE或AFTER 6 # refvalue,標杆值,即:在它先後插入數據 7 # value,要插入的數據
r.lset(name, index, value)
1 # 對name對應的list中的某一個索引位置從新賦值 2 3 # 參數: 4 # name,redis的name 5 # index,list的索引位置 6 # value,要設置的值
r.lrem(name, value, num)
1 # 在name對應的list中刪除指定的值 2 3 # 參數: 4 # name,redis的name 5 # value,要刪除的值 6 # num, num=0,刪除列表中全部的指定值; 7 # num=2,從前到後,刪除2個; 8 # num=-2,從後向前,刪除2個