哈希表操作
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)