学习python,redis是必须要学习的是重点,下面我们一起来学习Python操作Redis之hash类型。
```python
import redis # 导入redis模块
# 建议使用以下连接池的方式
# 设置decode_responses=True,写入的KV对中的V为string类型,不加则写入的为字节类型。
pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=0, decode_responses=True)
rs = redis.Redis(connection_pool=pool)
# 单键值操作
# 设置hash名为hName的键和值
rs.hset('hName', 'key1', 'value1')
rs.hset('hName', 'key2', 'value2')
# 取hName的key1对应的值
print(rs.hget('hName', 'key1')) #返回结果:value1
#批量键值操作
rs.hmset('hName', {'key3': 'value3', 'key5': 'value5'})
print(rs.hmget('hName', 'key1', 'key2', 'key3')) #返回结果:['value1', 'value2', 'value3']
# 取出hName所有键值
print(rs.hgetall('hName')) #返回结果:{'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key5': 'value5'}
# 取hName中所有的keys
print(rs.hkeys('hName')) #返回结果:['key1', 'key2', 'key3', 'key5']
# 取hName中所有的values
print(rs.hvals('hName')) #返回结果:['value1', 'value2', 'value3', 'value5']
# 获取hName对应hash键值对个数
print(rs.hlen('hName')) #返回结果:4
# 判断key2是否存在
print(rs.hexists('hName', 'key2')) #返回结果:True
# 删除key2对应键值对
rs.hdel('hName', 'key2')
# 再次判断key2是否存在
print(rs.hexists('hName', 'key2')) #返回结果:False
```