Object 內建對象

對象RedisHash

Redis資料庫客戶端Hash 對象,此對象為包含指定key 的客戶端,只有呼叫其方法才會操作資料庫

用以操作Redis的Hash 對象,創建方法:

1 2 3
var db = require("db"); var rdb = new db.openRedis("redis-server"); var hash = rdb.getHash("test");

繼承關係

成員函數

set

將雜湊表中的域field 的值設為value,如果域field 已經存在於雜湊表中,舊值將被覆寫

1 2
RedisHash.set(Buffer field, Buffer value);

呼叫參數:

  • field:Buffer, 指定要修改的field
  • value:Buffer, 指定要修改的數據

setNX

將雜湊表中的域field 的值設為value ,當且僅當域field 不存在。若域field 已經存在,則該操作無效

1 2
RedisHash.setNX(Buffer field, Buffer value);

呼叫參數:

  • field:Buffer, 指定要修改的field
  • value:Buffer, 指定要修改的數據

mset

同時將多個field-value (域-值)對設定到哈希表中,此指令會覆寫哈希表中已存在的域

1
RedisHash.mset(Object kvs);

呼叫參數:

  • kvs: Object, 指定要設定的field/value 對象

同時將多個field-value (域-值)對設定到哈希表中,此指令會覆寫哈希表中已存在的域

1
RedisHash.mset(...kvs);

呼叫參數:

  • kvs: ..., 指定要設定的field/value 列表

get

傳回哈希表中給定域field 的值

1
Buffer RedisHash.get(Buffer field);

呼叫參數:

  • field:Buffer, 指定要查詢的field

回傳結果:

  • Buffer, 給定域的值,當給定域不存在或是給定key 不存在時,傳回null

mget

傳回哈希表中,一個或多個給定域的值

1
NArray RedisHash.mget(Array fields);

呼叫參數:

  • fields: Array, 指定要查詢的網域數組

回傳結果:

  • NArray, 一個包含所有給定域的值的列表

傳回哈希表中,一個或多個給定域的值

1
NArray RedisHash.mget(...fields);

呼叫參數:

  • fields: ..., 指定要查詢的網域列表

回傳結果:

  • NArray, 一個包含所有給定域的值的列表

incr

將域所儲存的值加上增量

1 2
Long RedisHash.incr(Buffer field, Long num = 1);

呼叫參數:

  • field:Buffer, 指定要修改的網域
  • num: Long, 指定要加上的數值

回傳結果:

  • Long, 加上num 之後,域的值

getAll

返回哈希表中,所有的域和值

1
NArray RedisHash.getAll();

回傳結果:

  • NArray, 傳回一個包含哈希表中所有域的列表

keys

傳回哈希表中的所有域

1
NArray RedisHash.keys();

回傳結果:

  • NArray, 回傳值裡,緊接在每個網域(field name)之後是域的值(value),所以回傳值的長度是哈希表大小的兩倍

len

傳回哈希表中域的數量

1
Integer RedisHash.len();

回傳結果:

  • Integer, 傳回哈希表中域的數量

exists

查看哈希表中,給定域field 是否存在

1
Boolean RedisHash.exists(Buffer field);

呼叫參數:

  • field:Buffer, 指定要查詢的field

回傳結果:

  • Boolean, 如果哈希表含有給定域,則傳回true,如果哈希表不含有給定域,或key 不存在,則傳回false

del

刪除哈希表中的一個或多個指定域,不存在的域將被忽略

1
Integer RedisHash.del(Array fields);

呼叫參數:

  • fields: Array, 指定要刪除的網域數組

回傳結果:

  • Integer, 被刪除域的數量

刪除哈希表中的一個或多個指定域,不存在的域將被忽略

1
Integer RedisHash.del(...fields);

呼叫參數:

  • fields: ..., 指定要刪除的網域列表

回傳結果:

  • Integer, 被刪除域的數量

toString

傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現

1
String RedisHash.toString();

回傳結果:

  • String, 傳回物件的字串表示

toJSON

傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合

1
Value RedisHash.toJSON(String key = "");

呼叫參數:

  • key: String, 未使用

回傳結果:

  • Value, 傳回包含可JSON 序列化的值