盘点Redis常用操作

盘点Redis常用操作

Redis简介

Redis是完全开源免费的高性能Key-Value数据库,有以下几个特点:

·Redis支持数据持久化,可以将内存中的数据保存至磁盘中,重启可以再次加载进行使用。

·Redis不仅仅支持简单的Key-Value类型的额数据,同时还提供list,set,zset(有序集合),hash等数据结构的存储。

·Redis支持数据的备份,即master-slave模式的数据备份。

Redis基本操作

1、字符串相关操作

盘点Redis常用操作

2、列表相关操作

盘点Redis常用操作

3、集合相关操作

盘点Redis常用操作

4、散列(hash)操作

盘点Redis常用操作

相关推荐:《Python基础教程》

python操作string

importredis
classTest_String(object):
def__init__(self):
self.r=redis.StrictRedis(host='localhost',port=6379,db=0)
deftest_set(self):
"""
设置一个值
:return:
"""
res=self.r.set('user2','Joshua')
print(res)
deftest_get(self):
"""
获取一个值
:return:
"""
res=self.r.get('user2')
print(res)
deftest_mset(self):
"""
设置多个键值对
:return:
"""
d={'user3':'qi','user4':'shuai'}
res=self.r.mset(d)
print(res)
deftest_mget(self):
"""
获取多个键值对
:return:
"""
d=['user3','user4']
res=self.r.mget(d)
print(res)
deftest_del(self):
"""
删除一个键值对
:return:
"""
res=self.r.delete('user3')
print(res)
deftest_incr(self):
"""
增加1
:return:
"""
res=self.r.incr('num')
print(res)
deftest_decr(self):
"""
减少1
:return:
"""
res=self.r.decr('num')
print(res)
deftest_append(self):
"""
添加字符串
:return:
"""
res=self.r.append('user3','qi')
print(res)
defmain():
t=Test_String()
#t.test_mset()
#t.test_mget()
#t.test_del()
#t.test_set()
#t.test_get()
#t.test_incr()
#t.test_decr()
t.test_append()
if__name__=='__main__':
main()

python 操作列表

importredis
classTest_List(object):
def__init__(self):
self.r=redis.StrictRedis(host='localhost',port=6379,db=0)
deftest_push(self):
l_eat=['Joshua','Amy']
lres=self.r.lpush('eat2',*l_eat)
print(lres)
rres=self.r.rpush('eat2',*l_eat)
print(rres)
deftest_pop(self):
res=self.r.lpop('eat2')
print(res)
res=self.r.rpop('eat2')
print(res)
deftest_lindex(self):
#获取某个偏移量的值
res=self.r.lindex('eat2',0)
print(res)
deftest_lrange(self):
res=self.r.lrange('eat2',0,2)#获取某段偏移量的值
print(res)
res=self.r.lrange('eat2',0,-1)#获取列表所有值
print(res)
deftest_ltrim(self):
res=self.r.ltrim('eat2',1,2)#窃取一段值,其他值删除掉
print(res)
res=self.r.lrange('eat2',0,-1)
print(res)
deftest_bpop(self):
res=self.r.blpop('eat2',timeout=3)#在3秒内从列表左端删除一个元素
print(res)
res=self.r.brpop('eat2',timeout=3)#在3秒内从列表右端删除一个元素
print(res)
deftest_rpoplpush(self):
res=self.r.rpoplpush('mylist','youlist')#从mylist的右端删除一个元素,添加到youlist的最左边
print(res)
deftest_brpoplpush(self):
#从mylist的右端删除一个元素,添加到youlist的最左边,如果mylist为空则等待3秒
res=self.r.brpoplpush('mylist','youlist',timeout=3)
print(res)
deftest_pushx(self):
#当key存在的时候才往列表左端插入一个数据
res=self.r.lpushx('youlist',1)
print(res)
#~右端
res=self.r.rpushx('itslist',1)
print(res)
if__name__=='__main__':
t=Test_List()
#t.test_push()
#t.test_pop()
#t.test_lindex()
#t.test_lrange()
#t.test_ltrim()
#t.test_blpop()
#t.test_rpoplpush()
#t.test_brpoplpush()
t.test_pushx()

python操作集合

importredis
classTest_Set(object):
def__init__(self):
self.r=redis.StrictRedis(host='localhost',port=6379,db=0)
deftest_sadd(self):
data=['cat','dog']
res=self.r.sadd('zoo1',*data)
print(res)
res=self.r.smembers('zoo1')#获得集合的所有元素
print(res)
deftest_srem(self):
#data=['cat','dog']
#res=self.r.srem('zoo',*data)#删除多个元素
res=self.r.srem('zoo','dog')#删除单个元素
print(res)
res=self.r.smembers('zoo')
print(res)
deftest_sinter(self):#获取两个集合的交集
res=self.r.sinter('zoo','zoo1')
print(res)
deftest_sunion(self):#获取两个集合的并集
res=self.r.sunion('zoo','zoo1')
print(res)
deftest_sdiff(self):#获取两个集合不同之处
res=self.r.sdiff('zoo','zoo1')
print(res)
if__name__=='__main__':
t=Test_Set()
#t.test_sadd()
#t.test_srem()
#t.test_sinter()
#t.test_sunion()
t.test_sdiff()
importredis
classTest_Hash(object):
def__init__(self):
self.r=redis.StrictRedis(host='localhost',port=6379,db=0)
deftest_hset(self):#设置一个哈希值
res=self.r.hset('News:1','Title','NewsTitle')
print(res)
deftest_hdel(self):#删除一个哈希值
res=self.r.hdel('News:1','Title')
print(res)
deftest_hget(self):#获取一个值
res=self.r.hget('News:1','Title')
print(res)
deftest_heists(self):#判断是否存在
res=self.r.hexists('News:1','Title')
print(res)
deftest_hgetall(self):#获取所有哈希
res=self.r.hgetall('News:1')
print(res)
deftest_hmset(self):#设置多个哈希
data={'content':'thisiscontent','data':'20190101'}
res=self.r.hmset('News:1',data)
print(res)
deftest_hmget(self):#获取多个哈希
fields=['content','data']
res=self.r.hmget('News:1',fields)
print(res)
deftest_hkeys(self):#获取所有keys
res=self.r.hkeys('News:1')
print(res)
deftest_hvalues(self):#获取所有values
res=self.r.hvals('News:1')
print(res)
deftest_hlen(self):#获取fields的数量
res=self.r.hlen('News:1')
print(res)
deftest_hsetnx(self):#设置一个哈希值,如果存在则不设置
res=self.r.hsetnx('News:1','content','fuck')
print(res)
if__name__=='__main__':
t=Test_Hash()
#t.test_hset()
#t.test_hdel()
#t.test_hget()
#t.test_heists()
#t.test_hgetall()
#t.test_hmset()
#t.test_hmget()
#t.test_hkeys()
#t.test_hvalues()
#t.test_hlen()
t.test_hsetnx()