十分钟掌握python 操作redis 数据库基本语法

什么是redis 数据库

关于redis数据库的介绍或者科普文章十分之多,这里面我说下我的感受。redis数据库是一个运行在内存中支持多种复杂数据结构的key-value型数据库,想比较其他的key-value数据库redis保持了其他数据库无法比拟的高效性。

redis数据库支持的数据结构

Strings(字符串), Lists(链表), Hashes(哈希), Sets(集合) 及 Ordered Sets(有序集合)

安装准备

安装redis插件
pip install redis

python 操作 redis Strings 类型

建立连接

这里面使用的端口为默认端口

r = redis.StrictRedis(host='localhost', port=6379, db=0)
新增/设置数据

rest = self.r.set(key, value)
例如

   rest = r.set("student1", "张三")
   print(rest)

在这里插入图片描述

查询数据
 rest = self.r.get('student1')
 rest = rest.decode()
 print("student1的value是",rest)

在这里插入图片描述

新增/设置多条数据
  d = {
        'student1': '欧阳锋',
        'student2': '张无忌'
    }
    rest = r.mset(d)
    print(rest)

在这里插入图片描述

获取多条数据
l = ['student1', 'student2']
rest = r.mget(l)
rest = [res.decode() for res in rest]
print(rest)

在这里插入图片描述
从这里也能够看出,当重复赋值的时候,student1的原value本来是张三,后来变为了欧阳锋。

删除数据
rest = r.delete('student1')
print(rest)

在这里插入图片描述

rest = r.delete('student1')
print(rest)
rest = r.get('student1')
print(rest)

在这里插入图片描述
第一次执行delete(‘student1’)返回值是1,代表的是执行成功,当再次执行delete(‘student1’)返回值是0,代表的是执行失败,也就是没有这条数据。
当我们删除该数据后,再获取student1的数据自然也就获取不到了。

python 操作 redis Lists 类型

建立连接
r = redis.Redis(host='localhost', port=6379, db=0)
插入数据/获取数据

这里简单介绍一下redis 链表操作的基本命令
lpush/rpush – 从左/右插入数据
lrange – 获取指定长度的数据 类似python列表的索引

t = ['令狐冲', '任盈盈']
rest = r.lpush('jianghu', *t)
print(rest)
rest = r.lrange('jianghu', 0, -1)
rest = [res.decode() for res in rest]
print(rest)

在这里插入图片描述
当使用lpush时返回值为操作的记录数,就是实际增加的条数。

删除数据
rest = r.rpop('jianghu')
print(rest.decode())
rest = r.lrange('jianghu', 0, -1)
rest = [res.decode() for res in rest]
print(rest)

在这里插入图片描述

python 操作 redis sets 类型

建立连接
r = redis.Redis(host='localhost', port=6379, db=0)
添加数据
 l = ['剑圣', '德玛']
 rest = r.sadd('战士', *l)
 print(rest)
 rest = r.smembers('战士')
 rest = [res.decode() for res in rest]
 print(rest)

在这里插入图片描述

删除数据
l = ['提莫']
r.sadd('战士', *l)
rest = r.smembers('战士')
rest = [res.decode() for res in rest]
print(rest)
count = r.srem('战士', '提莫')
rest = r.smembers('战士')
rest = [res.decode() for res in rest]
print(rest)

在这里插入图片描述

返回集合的并交集
l = ['德玛','光辉']
r.sadd('德玛西亚', *l)
rest = r.sunion('德玛西亚', '战士')
rest = [res.decode() for res in rest]
print(rest)
rest = r.sinter('德玛西亚', '战士')
rest = [res.decode() for res in rest]
print(rest)

在这里插入图片描述

python 操作 redis Hashes 类型

建立连接
r = redis.Redis(host='localhost', port=6379, db=0)
设置/获取hash值
r.hset('stu:1', 'name', '张三')

rest = r.hget('stu:1', 'name')
print(rest.decode())
rest = r.hget('stu:2', 'name')
print(rest)

在这里插入图片描述

设置/获取多对值
  renwu = {
       'name': '令狐冲',
       'age': 21,
       '武功': "易筋经"
   }
   rest = r.hmset('wuxia:1', renwu)
   print(rest)
   rest = r.hvals('wuxia:1')
   rest = [res.decode() for res in rest]
   print(rest)

在这里插入图片描述

后记

这些事python操作redis最基础得命令,同时也是redis本身最基本的命令了。可以说是redis皮毛中的皮毛了,所以这篇文章只适合初学者选看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值