python下redis常用操作(上)

2021-08-11 08:34:01 字數 3681 閱讀 6090

reids目前提供5種資料型別:string型別, list型別, set集合型別, 有序集合型別, hash型別

redis中的string在記憶體中都是按照乙個key對應乙個value來儲存的。如:

r.set(「name」, 「liaochao」)

示例:

import redis

pool = redis.connectionpool(host="192.168.1.202", port=6379, db=0)

r = redis.redis(connection_pool=pool)

r.set("name","liaochao")

print(r.get("name"))

#批量插入

r.mset(name1="test1",name2="test2")

print (r.mget("name1","name2"))

print (r.get("name3"))

結果:

liaochao

test3

redis中的list在在記憶體中按照乙個name對應乙個list來儲存

lpush(name,values)

# 在name對應的list中新增元素,每個新的元素都新增到列表的最左邊

r.lpush(「list_name」,2)

r.lpush(「list_name」,3,4,5)#儲存在列表中的順序為5,4,3,2

rpush(name,values)

#同lpush,但每個新的元素都新增到列表的最右邊

lpushx(name,value)

#在name對應的list中新增元素,只有name已經存在時,值新增到列表的最左邊

rpushx(name,value)

#在name對應的list中新增元素,只有name已經存在時,值新增到列表的最右邊

llen(name)

# name對應的list元素的個數

print(r.llen(「list_name」))、

linsert(name,where,refvalue,value):在name對應的列表的某乙個值前後插入乙個新值

#引數:

# name,redis的name

# where,before或after

# refvalue,標桿值,即:在它前後插入資料

# value,要插入的資料

r.lset(name,index,value):對name對應的list中的某乙個索引位置重新賦值。

# 引數:

# name,redis的name

# index,list的索引位置

# value,要設定的值

r.lrem(name,value,num):在name對應的list中刪除指定的值

# 引數:

# name,redis的name

# value,要刪除的值

# num, num=0,刪除列表中所有的指定值;

# num=2,從前到後,刪除2個;

# num=-2,從後向前,刪除2個

示例:

import redis

pool = redis.connectionpool(host="192.168.1.202", port=6379, db=0)

r = redis.redis(connection_pool=pool)

# lpush 在list的左邊增加乙個元素 left

# rpush 在list的右邊增加乙個元素 right

r.lpush("list_name",2)

r.lpush("list1", "test1")

r.rpush("list1", "ling")

r.lpush("list1", "test2")

r.lpush("list1", "test3")

r.lpush("list1", "test2")

r.lpush("list1", 2, 3, 4)

r.lpush("list1", "test2")

r.lrem("list1","test2")

print(r.lrange("list1", 0, -1))

結果:[『4』, 『3』, 『2』, 『test3』, 『test1』, 『ling』]

set集合就是不重複的列表

sadd(name,values)

#給name對應的集合中新增元素

r.sadd(「set_name」,」aa」)

r.sadd(「set_name」,」aa」,」bb」)

smembers(name)

#獲取name對應的集合的所有成員

scard(name)

#獲取name對應的集合中的元素個數

r.scard(「set_name」)

sinter(keys, *args)

# 獲取多個name對應集合的並集

r.sadd(「set_name」,」aa」,」bb」)

r.sadd(「set_name1」,」bb」,」cc」)

r.sadd(「set_name2」,」bb」,」cc」,」dd」)

print(r.sinter(「set_name」,」set_name1」,」set_name2」))

#輸出:{bb}

sismember(name, value)

#檢查value是否是name對應的集合內的元素

spop(name)

#從集合的右側移除乙個元素,並將其返回

sunion(keys, *args)

#獲取多個name對應的集合的並集

r.sunion(「set_name」,」set_name1」,」set_name2」)

srem(name, value) 刪除集合中的某個元素

r.srem(「set_name」, 「aa」)

示例:

import redis

pool = redis.connectionpool(host="192.168.1.202", port=6379, db=0)

r = redis.redis(connection_pool=pool)

r.sadd("set_name","aa")

r.sadd("set_name","aa","bb")

#檢視集合內所有元素

print r.smembers("set_name")

#檢視集合內元素個數

print r.scard("set_name")

r.srem("set_name","aa")

print r.smembers("set_name")

r.sadd("set_name1","aa","bb","cc")

#兩個集合的交集

print (r.sinter("set_name","set_name1"))

#兩個集合的並集

print(r.sunion("set_name","set_name1"))

結果

set([『aa』, 『bb』])

2 set([『bb』])

set([『bb』])

set([『aa』, 『cc』, 『bb』])

Redis在SpringBoot的常用操作

我們一般情況下,使用redis或許更多還是去存session,但是redis還是有很多更廣遠的操作,這裡先列舉幾個比較簡單的和springboot的相結合的比較簡單的操作。redistemplate.opsforvalue set test 100 60 10,timeunit.seconds 向r...

Python操作Redis之二 Hash操作

2 hash 操作 redis中的hash 在記憶體中類似於乙個name對應乙個dic來儲存 hset name,key,value name對應的hash中設定乙個鍵值對 不存在,則建立,否則,修改 r.hset dic name a1 aa hget name,key r.hset dic na...

Redis常用命令 通用key value操作

1.keys pattern 查詢相應的key,pattern表示查詢條件,可以實現模糊查詢 通配任意多個字元,keys 表示返回當前redis資料庫中所有的key。通配任意乙個字元,比如已經有兩個key,分別是aba或abb,如果要查詢以ab開頭的後面只有乙個字元的key,就可以使用keys ab...