栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

python交互redis 简单易懂

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python交互redis 简单易懂

  • 模块安装

       pip install redis

  • 使用流程
import redis
 
# 创建数据库连接对象

r = redis.Redis(host="127.0.0.1",port=6379,db=0,password="123456" )
  • 代码示例                
import redis


# 1 创建redis数据库连接对象

r = redis.Redis()

# 2 使用,很多命令的返回值是字节串,需要用字符串
#  表示时,调用decode方法.

# 3.1 通用命令...
print(r.keys("*"))
print(r.exists("name")) # 是否存在name这个键

#3.2字符串类型操作
r.set("name","xx",5)
print(r.get(“name))

r.mset({"a":100,"b":200,"c":300})
print(r.mget(["a","b","c"]))

#3.3列表类型操作
r.lpush("list",100,200,300)
print(r.lrange("list",0,-1))
Hash散列数据类型
  •  定义

1.由field和关联的value组成的键值对

2.field的value是字符串类型

3.一个hash中最多包含2^32-1个键值对

  •  优点

1.节约空间 特定条配下【1.字段小于512个,2.value不超过64字节】

2.按需获取字段的值

  • 缺点

1.使用过期键功能:键过期功能只能对键进行过期操作,不能对散列的字段进行过期操作

2.存储消耗大于字符串结构

  • python操作hash
# 1 更新一条数据的属性,没有则新建,hset(name, key, value) 
r.hset("user","uname","xx")

# 2 读取这条数据的指定属性,返回字符串类型,hget(name, key)
r.hget("user","uname")

# 3 批量更新数据属性,没有则新建,参数为字典,hmset(name, mapping)
r.hmset("user",{"password":"123","E-":"123@"})

# 4 批量读取数据(没有则新建)属性,hmget(name, keys)
r.hmget("user", "uname","age")

# 5 获取这条数据的所有属性和对应的值,返回字典类型,hgetall(name)
r.hgetall("user")

# 6 获取这条数据的所有属性名,返回列表类型,hkeys(name)
r.hkeys("user")

# 7 删除这条数据的指定属性,hdel(name, *keys)
r.hdel("user","E-","phone")
  • 应用场景
  1. 用户维度统计
       统计数包括:关注数、粉丝数、喜欢商品数、发帖数
       用户为key,不同维度为field,value为统计数
       比如关注了5人
         HSET user:10000 fans 5
         HINCRBY user:10000 fans 1
集合数据类型(set)
  • 特点

1、无序、去重
2、元素是字符串类型
3、最多包含2^32-1个元素

  • python操作set,sortedset
import redis

r = redis.Redis()

# 有序集合类型的操作
r.zadd('pyzk1', {'tedu': 100, 'tedu2': 200})
print(r.zrange('pyzk1', 0, -1, withscores=True))
r.zadd('pyzk2', {'tedu2': 200, 'tedu3': 200})
# 并集运算
r.zunionstore('pyzk3',['pyzk1','pyzk2'], aggregate='sum')
print(r.zrange('pyzk3', 0, -1, withscores=True))
# 并集运算(带权重)
r.zunionstore('pyzk4',{'pyzk1':0.8,'pyzk2':0.2},
              aggregate='sum')
print(r.zrange('pyzk4', 0, -1, withscores=True))

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1036593.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号