object
OBJECT encoding
key の情報照会
使い方は OBJECT encoding key です。
encoding data type
- Strings: int, embstr, raw
- Lists: version 3.2.0 以前は ziplist(small lists), linkedlist
version 3.2.0 から quicklist 一つに統一されて使われます。
- Sets: intset(integers and small sets), hashtable
- Sorted Sets: ziplist(small zsets), skiplist
- Hashes: ziplist(small hashes), hashtable
Strings data type : int(integer), embstr(small string), raw
- int: value が整数であることを示します。integer、実数(小数点を含む)は string に分類されます。数字が 0 で始まると string です。
例えば 123 は int で 0123 は embstr です。
- embstr: value が string で 44文字以下であることを示します。embedded string。embstr は 3.0 から表示されます。以前のバージョンは raw と表示されました。
- raw: value が string で 45文字以上であることを示します。
Example Strings
| コマンド> | set key 1234 |
| 結果> | OK |
| コマンド> | object encoding key |
| 結果> | int |
| コマンド> | append key Hello |
| 結果> | OK |
| コマンド> | object encoding key |
| 結果> | embstr |
| コマンド> | set key 01234 |
| 結果> | OK |
| コマンド> | object encoding key |
| 結果> | embstr |
| コマンド> | set key 12.34 |
| 結果> | OK |
| コマンド> | object encoding key |
| 結果> | embstr |
| コマンド> | set key 0123456789012345678901234567890123456789 |
| 結果> | OK |
| コマンド> | object encoding key |
| 結果> | raw |
アニメーションを見る
Lists data type : ziplist(small lists), linkedlist
- ziplist: member 個数が 512個まで、または値の長さが 64 までは ziplist です。
- linkedlist: member 個数が 513個以上、または値の長さが 65 から linkedlist です。
- これは redis.conf の list-max-ziplist-entries 512, list-max-ziplist-value 64 で設定できます。
- Redis version 3.2.0 以前はエンコーディング(encoding)タイプがこの2つでしたが、3.2.0 からは
この2つを合わせた quicklist だけが使われます。
Example Lists: version 3.2.0 以前
| コマンド> | llen mylist1 |
| 結果> | 512 |
| コマンド> | object encoding mylist1 |
| 結果> | ziplist |
| コマンド> | llen mylist2 |
| 結果> | 513 |
| コマンド> | object encoding mylist2 |
| 結果> | linkedlist |
Example Lists: version 3.2.0 以降
| コマンド> | rpush mylist3 value1 value2 |
| 結果> | (integer) 2 |
| コマンド> | object encoding mylist3 |
| 結果> | quicklist |
Sets: intset(integers and small sets), hashtable
- intset: value がすべて整数で、member 個数が 512個までは intset です。value が 0 で始まるか小数点を含むと hashtable に変換されます。
- hashtable: value が string、または member 個数が 513個以上は hashtable です。
- これは redis.conf の set-max-intset-entries 512 で設定できます。
Example Sets
| コマンド> | sadd myset 1 2 3 |
| 結果> | 3 |
| コマンド> | object encoding mylist1 |
| 結果> | intset |
| コマンド> | sadd myset 4.1 |
| 結果> | 1 |
| コマンド> | object encoding myset |
| 結果> | hashtable |
Sorted Sets: ziplist(small zsets), skiplist
- ziplist: member 個数が 128個まで、または値の長さが 64 までは ziplist です。
- skiplist: member 個数が 129個以上、または値の長さが 65 から skiplist です。
- これは redis.conf の zset-max-ziplist-entries 128, zset-max-ziplist-value 64 で設定できます。
Example Sets
| コマンド> | zcard myzip1 |
| 結果> | 128 |
| コマンド> | object encoding myzip1 |
| 結果> | ziplist |
| コマンド> | zcard myzip2 |
| 結果> | 129 |
| コマンド> | object encoding myzip2 |
| 結果> | skiplist |
Hashes: ziplist(small hashes), hashtable
- ziplist: member 個数が 512個まで、または値の長さが 64 までは ziplist です。
- hashtable: member 個数が 513個以上、または値の長さが 65 から hashtable です。
- これは redis.conf の hash-max-ziplist-entries 512, hash-max-ziplist-value 64 で設定できます。
Example Sets
| コマンド> | hlen myhash1 |
| 結果> | 512 |
| コマンド> | object encoding myhash1 |
| 結果> | ziplist |
| コマンド> | hlen myhash2 |
| 結果> | 513 |
| コマンド> | object encoding myhash2 |
| 結果> | hashtable |
構文
OBJECT encoding key
- このコマンドは version 2.2.3 から使用できます。
- 時間計算量は O(1) です