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

歡迎訪問 生活随笔!

生活随笔

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

C#

C#Redis哈希Hashes

發布時間:2023/12/20 C# 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#Redis哈希Hashes 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前戲

?我們可以將Redis中的Hashes類型看成具有String Key和String Value的map容器。所以該類型非常適合于存儲值對象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么該類型的數據也將僅占用很少的磁盤空間。每一個Hash可以存儲4294967295個鍵值對。

二、理論

命令原型時間復雜度命令描述返回值
HSET key field valueO(1)為指定的Key設定Field/Value對,如果Key不存在,該命令將創建新Key以參數中的Field/Value對,如果參數中的Field在該Key中已經存在,則用新值覆蓋其原有值。?1表示新的Field被設置了新值,0表示Field已經存在,用新值覆蓋原有值。?
HGET key field?O(1)?返回指定Key中指定Field的關聯值。返回參數中Field的關聯值,如果參數中的Key或Field不存,返回nil。
HEXISTS key field?O(1)?判斷指定Key中的指定Field是否存在。1表示存在,0表示參數中的Field或Key不存在。
HLEN key?O(1)獲取該Key所包含的Field的數量。返回Key包含的Field數量,如果Key不存在,返回0。
HDEL key field [field ...]?O(N)時間復雜度中的N表示參數中待刪除的字段數量。從指定Key的Hashes Value中刪除參數中指定的多個字段,如果不存在的字段將被忽略。如果Key不存在,則將其視為空Hashes,并返回0.實際刪除的Field數量。
HSETNX key field valueO(1) 只有當參數中的Key或Field不存在的情況下,為指定的Key設定Field/Value對,否則該命令不會進行任何操作。?1表示新的Field被設置了新值,0表示Key或Field已經存在,該命令沒有進行任何操作。
HINCRBY key field increment?O(1) 增加指定Key中指定Field關聯的Value的值。如果Key或Field不存在,該命令將會創建一個新Key或新Field,并將其關聯的Value初始化為0,之后再指定數字增加的操作。該命令支持的數字是64位有符號整型,即increment可以負數。?返回運算后的值。
HGETALL keyO(N)?時間復雜度中的N表示Key包含的Field數量。獲取該鍵包含的所有Field/Value。其返回格式為一個Field、一個Value,并以此類推。Field/Value的列表。
HKEYS key?O(N)時間復雜度中的N表示Key包含的Field數量。返回指定Key的所有Fields名。Field的列表。
HVALS key?O(N)時間復雜度中的N表示Key包含的Field數量。返回指定Key的所有Values名。?Value的列表。?
HMGET key field [field ...]?O(N)?時間復雜度中的N表示請求的Field數量。獲取和參數中指定Fields關聯的一組Values。如果請求的Field不存在,其值返回nil。如果Key不存在,該命令將其視為空Hash,因此返回一組nil。返回和請求Fields關聯的一組Values,其返回順序等同于Fields的請求順序。
HMSET key field value [field value ...]O(N)時間復雜度中的N表示被設置的Field數量。逐對依次設置參數中給出的Field/Value對。如果其中某個Field已經存在,則用新值覆蓋原有值。如果Key不存在,則創建新Key,同時設定參數中的Field/Value。 ??

三、實操

?

127.0.0.1:6379> hset 201015060132 name cuiyanwei (integer) 1 127.0.0.1:6379> hget 201015060132 name "cuiyanwei" 127.0.0.1:6379> hexists 201015060132 name (integer) 1 127.0.0.1:6379> hexists 201015060132 age (integer) 0 127.0.0.1:6379> hlen 201015060132 (integer) 1 127.0.0.1:6379> hset 201015060132 age 25 (integer) 1 127.0.0.1:6379> hlen 201015060132 (integer) 2 127.0.0.1:6379> hdel 201015060132 age (integer) 1 127.0.0.1:6379> hlem 201015060132 (error) ERR unknown command 'hlem' 127.0.0.1:6379> hlen 201015060132 (integer) 1 127.0.0.1:6379> hsetnx 201015060132 name cuiyan (integer) 0 127.0.0.1:6379> hget 201015060132 name "cuiyanwei" 127.0.0.1:6379> hsetnx 201015060132 age 25 (integer) 1 127.0.0.1:6379> hincrby 201015060132 age 5 (integer) 30 127.0.0.1:6379> hincrby 201015060132 age -5 (integer) 25 127.0.0.1:6379> hgetall 201015060132 1) "name" 2) "cuiyanwei" 3) "age" 4) "25" 127.0.0.1:6379> hkeys 201015060132 1) "name" 2) "age" 127.0.0.1:6379> hvals 201015060132 1) "cuiyanwei" 2) "25" 127.0.0.1:6379> hmget 201015060132 name age 1) "cuiyanwei" 2) "25" 127.0.0.1:6379> hmget 201015060132 passworld 1) (nil) 127.0.0.1:6379> hmset 201015060132 name cuiyanwei age 26 passworld 123456 OK 127.0.0.1:6379> hmget 201015060132 name age passworld 1) "cuiyanwei" 2) "26" 3) "123456" 127.0.0.1:6379>

?

總結

以上是生活随笔為你收集整理的C#Redis哈希Hashes的全部內容,希望文章能夠幫你解決所遇到的問題。

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