Python 操作redis 常用方法

2021-09-08 14:05:39 字數 4822 閱讀 1980

python 操作redis

1.字串

#

!/usr/bin/env python

#-*- coding:utf-8 -*-

import

redis

#python 操作str

class

teststring(object):

"""set --設定值

get --獲取值

mset --設定多個鍵值對

mget --獲取多個鍵值對

del --刪除

incr/decr -- 增加/減少 1

"""def

__init__

(self):

self.r = redis.strictredis(host='

localhost

', port=6379, db=0)

deftest_set(self):

rest = self.r.set('

user2

', '

amy'

)

print

rest

return

rest

deftest_get(self):

rest = self.r.get('

user2')

print

rest

return

rest

deftest_mset(self):

"""mset --設定多個鍵值對

:return:

"""d =

rest =self.r.mset(d)

print

rest

return

rest

deftest_mget(self):

"""mget --獲取多個鍵值對

:return:

"""l = ['

user1

','user2

','user3

','user4

','user6']

rest =self.r.mget(l)

print

rest

return

rest

deftest_del(self):

"""del 刪除

:return:

"""rest = self.r.delete('

user1')

print

rest

return

rest

defmain():

str_obj =teststring()

str_obj.test_set()

str_obj.test_get()

str_obj.test_mset()

str_obj.test_mget()

str_obj.test_del()

if__name__ == '

__main__':

main()

2.列表 

class

testlist(object):

"""lpush/rpush --從左/右插入資料

lrange -- 獲取指定長度的資料

ltrim -- 擷取一定長度的資料

lpop/rpop -- 移除最左/右的元素並返回

lpushx/rpushx -- key存在的時候才插入資料,不存在不做任何處理

"""def

__init__

(self):

self.r = redis.strictredis(host='

localhost

', port=6379, db=0)

deftest_push(self):

"""lpush/rpush --從左/右插入資料

lrange -- 獲取指定長度的資料

:return:

"""t = ('

amy', '

jhon')

reset = self.r.lpush('

l_eat2

', *t)

print

reset

reset = self.r.lrange('

l_eat2

', 0, -1)

print

reset

deftest_pop(self):

"""lpop/rpop -- 移除最左/右的元素並返回

:return:

"""rest = self.r.lpop('

l_eat2')

print

rest

reset = self.r.lrange('

l_eat2

', 0, -1)

print

reset

defmain():

#list

list_obj =testlist()

#list_obj.test_push()

list_obj.test_pop()

if__name__ == '

__main__':

main()

3.集合

class

testset(base):

"""sadd/srem --新增/刪除元素

sismember --判斷是否為set的乙個元素

smembers --返回該集合的所有成員

sdiff --返回乙個集合與其他集合的差異

sinter --返回幾個集合的交集

sunion --返回幾個集合的並集

"""def

test_sadd(self):

"""sadd/srem --新增/刪除元素

:return:

"""l = ['

cats

', '

dogs']

rest = self.r.sadd('

zoo3

', *l)

print

rest

rest = self.r.smembers('

zoo3')

print

rest

deftest_srem(self):

"""sadd/srem --新增/刪除元素

:return:

"""rest = self.r.srem('

zoo2

','dogs')

print

rest

rest = self.r.smembers('

zoo2')

print

rest

deftest_sinter(self):

"""sinter --返回幾個集合物件的交集

sunion --返回幾個集合物件的並集

:return:

"""rest = self.r.sunion('

zoo2

', '

zoo3')

print

rest

rest = self.r.sinter('

zoo2

','zoo3')

print

rest

defmain():

test_obj =testset()

test_obj.test_sadd()

test_obj.test_srem()

test_obj.test_sinter()

if__name__ == '

__main__':

main()

4.雜湊

class

testhash(base):

"""hset/hget --設定/獲取雜湊值

hmset/hmget --設定/獲取多對雜湊值

hsetnx --如果雜湊已經存在,則不設定

hkeys/hvals --返回所有keys/values

hlen -- 返回雜湊包含域

"""def

test_set(self):

"""hset/hget --設定/獲取雜湊值

:return:

"""reset = self.r.hset('

stu:***01

','name

','amy')

print

reset

reset = self.r.hexists('

stu:***01

','name')

print

reset

reset = self.r.hget('

stu:***01

','name')

print

reset

deftest_mset(self):

"""hmset/hmget --設定/獲取多對雜湊值

:return:

"""m =

rest = self.r.hmset('

stu:***03

',m)

print

rest

rest = self.r.hkeys('

stu:***03')

print

rest

defmain():

hash_obj =testhash()

hash_obj.test_set()

hash_obj.test_mset()

if__name__ == '

__main__':

main()

python下redis常用操作(上)

reids目前提供5種資料型別 string型別,list型別,set集合型別,有序集合型別,hash型別 redis中的string在記憶體中都是按照乙個key對應乙個value來儲存的。如 r.set name liaochao 示例 import redis pool redis.connec...

redis 常用操作

在ubuntu下面操作 redis的操作是以key value的形式儲存的 key為字串 value 字串,hash表,list集合,set集合,zset集合 五種型別 獲取值 1.獲取基本值 get key 2.獲取多個值 mget key1 key2 檢視鍵 1.檢視所有的鍵 keys 2.檢視...

Redis常用操作

redis cli p 34040 a password2 monitor monitor redis cli a password2 p 34040 keys x009 1699901 xargs redis cli a password2 p 34040 del redis cli a pass...