日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python - hash类型操作

發布時間:2024/4/13 python 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python - hash类型操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis在內存中存儲hash類型是以name對應一個字典形式存儲的

常用操作

  • 在name對應的hash中獲取根據key獲取value

hget(name,key)

  • 在name 對應的hash 中設備鍵值對

hset(name, key, value)

  • 在name對應的hash中批量設置鍵值對

hmset(name, mapping)

  • 在name對應的hash中獲取多個key的值

hmget(name, keys, *args)

  • 獲取name對應hash的所有鍵值

hgetall(name)

  • 獲取name對應的hash中鍵值的個數

hlen(name)

  • 獲取name對應的hash中所有的key的值

hkeys(name)

  • 獲取name對應的hash中所有的value的值

hvals(name)

  • 檢查name對應的hash是否存在當前傳入的key

hexists(name, key)

  • 將name對應的hash中指定key的鍵值對刪除

hdel(name, *keys)

#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/12/5 22:01 # @Author : lijunjiang # @File : hash.py import redisredis_info = {'host': '11.11.11.11','port': 6379 }def conncet_redis():pool = redis.ConnectionPool(**redis_info)try:r = redis.Redis(connection_pool=pool)except Exception as err:raise errreturn rr = conncet_redis()r.hset('hash1', 'test1', 'val_1') print(r.hget('hash1', 'test1')) # val_1r.hmset('hash1',{'k2':'v2', 'k3':'v3'}) print(r.hmget('hash1', ['k2', 'k3', 'test1'])) # ['v2', 'v3', 'val_1']print(r.hgetall('hash1')) # {'test1': 'val_1', 'k3': 'v3', 'kl': 'v1', 'k_l': 'valu', 'k2': 'v2'} print(r.hlen('hash1')) # 5 print(r.hkeys('hash1')) # ['test1', 'k3', 'k2', 'kl', 'k_l'] print(r.hvals('hash1')) # ['val_1', 'v3', 'v2', 'v1', 'valu'] print(r.hexists('hash1', 'test1')) # True print(r.hexists('hash1', 'test2')) # False print(r.hdel('hash1', 'k1')) # 1 print(r.hgetall('hash1')) # {'test1': 'val_1', 'k3': 'v3', 'k2': 'v2'} print(r.hlen('hash1')) # 3######### C:\Python27\python.exe D:/Python/redis/hash.py val_1 ['v2', 'v3', 'val_1'] {'test1': 'val_1', 'k3': 'v3', 'k2': 'v2'} 3 ['test1', 'k3', 'k2'] ['val_1', 'v3', 'v2'] True False 0 {'test1': 'val_1', 'k3': 'v3', 'k2': 'v2'} 3Process finished with exit code 0

其它操作

  • 根據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)

_keys = r.keys() print(_keys) # ['set_2', 'set_tmp', 'set_3', 'set_name', 'hash1'] r.delete('set_2') _keys = r.keys() print(_keys) # ['set_tmp', 'set_3', 'set_name', 'hash1']print(r.keys(pattern= 'set_2')) # []r.move('hash1', 1) # [root@Node1 src]# ./redis-cli # 127.0.0.1:6379> keys * # 1) "set_tmp" # 2) "set_3" # 3) "set_name" # 127.0.0.1:6379> select 1 # OK # 127.0.0.1:6379[1]> keys * # 1) "hash1" # 127.0.0.1:6379[1]>r.rename('set_now','set_tmp') _keys = r.keys() print(_keys) r.rename('set_tmp', 'set_now') _keys = r.keys() print(_keys) # ['set_tmp', 'set_3', 'set_name', 'hash1'] # ['set_now', 'set_3', 'set_name', 'hash1']

轉載于:https://www.cnblogs.com/lijunjiang2015/p/7989897.html

總結

以上是生活随笔為你收集整理的python - hash类型操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。