Python操作redis系列--哈希(hash)--增查删改

哈希表操作

pip install redis
# -*- coding: utf-8 -*-
import redis
#这个redis不能用,请根据自己的需要修改
r =redis.Redis(host="127.0.0.1",port=6379,password="123456")

1. 存储哈希表(增、改)

Hset 命令用于为哈希表中的字段赋值 。如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作。如果字段已经存在于哈希表中,旧值将被覆盖。
如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。
使用 hset 方法存储哈希表:

r.hset('myhash', 'field1', 'value1')
r.hset('myhash', 'field2', 'value2')

2. 获取哈表中指定字段的值(查)

使用 hget 方法获取哈希表中指定字段的值:

field_value = r.hget('myhash', 'field1')
print(field_value)  # 输出 b'value1

3.删除哈希表(删)

删除整个哈希表

r.delete('myhash')

4.获取哈希表的所有字段和值(查)

使用 hgetall 方法获取哈希表的所有字段和值:
Hgetall 命令用于返回哈希表中,所有的字段和值。在返回值里,紧跟每个字段名(field name)之后是字段的值(value),所以返回值的长度是哈希表大小的两倍。

hash_data = r.hgetall('myhash')
print(hash_data)  # 输出 {b'field1': b'value1', b'field2': b'value2'}

5.批量设置哈希表字段(增、改)

hmset命令用于同时设置多个哈希表字段的值。

r.hmset('myhash', {'field1': 'value1', 'field2': 'value2', 'field3': 'value3'})

6.批量获取哈希表字段的值

hmget 命令用于同时获取多个哈希表字段的值。

values = r.hmget('myhash', 'field1', 'field2', 'field3')

7.批量删除哈希表字段(删)

hdel 命令用于同时删除多个哈希表字段。
Hdel 命令用于删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。

r.hdel('myhash', 'field1', 'field2', 'field3')

8. 获取name对应的hash中所有的key的值(查)

hkeys(name)

print(r.hkeys('p_info'))
 
#输出
[b'name', b'age', b'gender']

9. 获取name对应的hash中所有的value的值(查)

hvals(name)

print(r.hvals('p_info'))
 
#输出
 [b'bigberg', b'22', b'M']

10.写入dict字典(增、改)

import redis
import json
r = redis.Redis(host='127.0.0.1',port=6379,password="123456")


user1 = {'name':'John', 'age':18}
user2 = {'name':'Jimm', 'age':23}
r.hset('mydb','id1',json.dumps(user1))
r.hset('mydb','id2',json.dumps(user2))
rel = r.hget('mydb','id1')
print(rel)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值