學(xué)習(xí)python,redis是必須要學(xué)習(xí)的是重點,下面我們一起來學(xué)習(xí)Python操作Redis之hash類型。
```python
import redis? # 導(dǎo)入redis模塊
# 建議使用以下連接池的方式
# 設(shè)置decode_responses=True,寫入的KV對中的V為string類型,不加則寫入的為字節(jié)類型。
pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=0, decode_responses=True)
rs = redis.Redis(connection_pool=pool)
# 單鍵值操作
# 設(shè)置hash名為hName的鍵和值
rs.hset('hName', 'key1', 'value1')
rs.hset('hName', 'key2', 'value2')
# 取hName的key1對應(yīng)的值
print(rs.hget('hName', 'key1'))? #返回結(jié)果:value1
#批量鍵值操作
rs.hmset('hName', {'key3': 'value3', 'key5': 'value5'})
print(rs.hmget('hName', 'key1', 'key2', 'key3'))? #返回結(jié)果:['value1', 'value2', 'value3']
# 取出hName所有鍵值
print(rs.hgetall('hName'))? #返回結(jié)果:{'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key5': 'value5'}
# 取hName中所有的keys
print(rs.hkeys('hName'))? #返回結(jié)果:['key1', 'key2', 'key3', 'key5']
# 取hName中所有的values
print(rs.hvals('hName'))? #返回結(jié)果:['value1', 'value2', 'value3', 'value5']
# 獲取hName對應(yīng)hash鍵值對個數(shù)
print(rs.hlen('hName'))? #返回結(jié)果:4
# 判斷key2是否存在
print(rs.hexists('hName', 'key2'))? #返回結(jié)果:True
# 刪除key2對應(yīng)鍵值對
rs.hdel('hName', 'key2')
# 再次判斷key2是否存在
print(rs.hexists('hName', 'key2'))? #返回結(jié)果:False
```