OBJECT encoding

Redis 開発者教育の申込 Redis 定期点検/技術サポート
Redis Technical Support
Redis エンタープライズサーバー
Redis Enterprise Server

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) です
関連コマンド TYPE

<< OBJECT OBJECT encoding OBJECT idletime >>

Email 返事がかかってなれば、メールでお知らせします。