python - hash類型操作

來源:互聯網
上載者:User

標籤:記憶體   rgs   bsp   mapping   python   檢測   roo   類型   sele   

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   : # @Author :# @File   : hash.pyimport 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 err    return 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‘))# 5print(r.hkeys(‘hash1‘))# [‘test1‘, ‘k3‘, ‘k2‘, ‘kl‘, ‘k_l‘]print(r.hvals(‘hash1‘))# [‘val_1‘, ‘v3‘, ‘v2‘, ‘v1‘, ‘valu‘]print(r.hexists(‘hash1‘, ‘test1‘))# Trueprint(r.hexists(‘hash1‘, ‘test2‘))# Falseprint(r.hdel(‘hash1‘, ‘k1‘))# 1print(r.hgetall(‘hash1‘))# {‘test1‘: ‘val_1‘, ‘k3‘: ‘v3‘, ‘k2‘: ‘v2‘}print(r.hlen(‘hash1‘))# 3

 

其它操作

根據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)# [[email protected] 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‘]

 

python - hash類型操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.