33. Python redis的 hash类型操作 其他常用操作

简介:

1.hash 类型操作

1
2
3
import  redis
pool  =  redis.ConnectionPool(host = "192.168.48.131" , port = 6379 , db = 0 )
=  redis.Redis(connection_pool = pool)

#hash类型操作:是一个name对应一个字典

#语法 hset(name, key, value)

#name 对应的hash中设置一个键值对(不存在,则创建键值对;否则,修改键值对)

# 语法参数解释:

name: redis 的 hash名

key:key1 对应hash中的key

value:value1 对应hash中的value

#注意:hsetx(name, key, value),当name对应的hash中不存在当前的key,则创建(相当于添加)。


hget(name,key)

#在name对应的hash中获取根据key获取value

hmset(name,mapping)

#在name对应的hash中批量设置键值对

#参数:

#mapping:字典,如{'k1':'v1','k2','v2'}

#例:

1
2
3
4
r.hmset( 'test' ,{ 'k1' : 'v1' , 'k2' : 'v2' })
print (r.hmget( 'test' , 'k1' , 'k2' ))
#结果
[b 'v1' , b 'v2' ]


hmget(name,keys,*args)

#在name对应的hash中获取多个key的值

#参数:

#keys:要获取key的集合,如:['k1','k2','k3']

#*args:要获取的key,如:k1,k2,k3

#例:

1
2
r.hmset( 'test' ,{ 'k1' : 'v1' , 'k2' : 'v2' })
print (r.hmget( 'test' , 'k1' , 'k2' ))    #获取多个值


hgetall(name)

获取name对应hash的所有键值

1
2
3
4
r.hmset( 'test' ,{ 'k1' : 'v1' , 'k2' : 'v2' })
print (r.hgetall( 'test' ))
#结果:
{b 'k2' : b 'v2' , b 'k1' : b 'v1' }


hlen(name)

获取name对应的hash中键值的个数

1
2
r.hmset( 'test' ,{ 'k1' : 'v1' , 'k2' : 'v2' })
print (r.hlen( 'test' ))


hkeys(name):获取name对应的hash中所有的key的值

hvals(name):获取name对应的hash中所有的value的值

1
2
3
4
5
6
7
#举例:
r.hmset( 'test' ,{ 'k1' : 'v1' , 'k2' : 'v2' })
print (r.hkeys( 'test' ))
print (r.hvals( 'test' ))
#结果:
[b 'k2' , b 'k1' ]
[b 'v2' , b 'v1' ]


hexists(name,key):检查name对应的hash是否存在当前传入的key

hdel(name,*keys):将name对应的hash中指定key的键值对删除

举例:

1
2
3
4
r.hmset( 'test' ,{ 'k1' : 'v1' , 'k2' : 'v2' })
print (r.exists( 'test' ))
print (r.hdel( 'test' , 'k1' ))
print (r.hmget( 'test' , 'k1' , 'k2' ))


2.其他常用操作

#根据name删除redis中的任意数据类型

delete(*names)


#检测redis的name是否存在

exists(name)


#根据* ?等通配符匹配获取redis的name

keys(pattern='*')


# 为某个name设置超时时间

expire(name ,time)


# 重命名

rename(src, dst)


# 将redis的某个值移动到指定的db下

move(name, db))


# 获取name对应值的类型

type(name)



本文转自 听丶飞鸟说 51CTO博客,原文链接:http://blog.51cto.com/286577399/2047671
相关文章
|
10月前
|
数据采集 存储 NoSQL
分布式爬虫去重:Python + Redis实现高效URL去重
分布式爬虫去重:Python + Redis实现高效URL去重
|
存储 消息中间件 NoSQL
Redis数据结构:List类型全面解析
Redis数据结构——List类型全面解析:存储多个有序的字符串,列表中每个字符串成为元素 Eelement,最多可以存储 2^32-1 个元素。可对列表两端插入(push)和弹出(pop)、获取指定范围的元素列表等,常见命令。 底层数据结构:3.2版本之前,底层采用**压缩链表ZipList**和**双向链表LinkedList**;3.2版本之后,底层数据结构为**快速链表QuickList** 列表是一种比较灵活的数据结构,可以充当栈、队列、阻塞队列,在实际开发中有很多应用场景。
|
存储 NoSQL Redis
Redis 哈希(Hash)
10月更文挑战第16天
227 1
|
消息中间件 存储 监控
redis 的List类型 实现 排行榜
【10月更文挑战第8天】
227 2
|
存储 NoSQL Redis
redis-set类型
【10月更文挑战第6天】
232 1
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
202 3
|
消息中间件 分布式计算 NoSQL
大数据-41 Redis 类型集合(2) bitmap位操作 geohash空间计算 stream持久化消息队列 Z阶曲线 Base32编码
大数据-41 Redis 类型集合(2) bitmap位操作 geohash空间计算 stream持久化消息队列 Z阶曲线 Base32编码
207 2
|
存储 NoSQL 关系型数据库
Redis的ZSet底层数据结构,ZSet类型全面解析
Redis的ZSet底层数据结构,ZSet类型全面解析;应用场景、底层结构、常用命令;压缩列表ZipList、跳表SkipList;B+树与跳表对比,MySQL为什么使用B+树;ZSet为什么用跳表,而不是B+树、红黑树、二叉树
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
1050 0
|
消息中间件 存储 NoSQL
python 使用redis实现支持优先级的消息队列详细说明和代码
python 使用redis实现支持优先级的消息队列详细说明和代码
300 0

推荐镜像

更多