Redis 数据结构之Keys
这是Redis官方文档的keys列表
(1) set key value--设置某个键为某个值
(2) get key -- 获取设置的值
(3)del key -- 删除设置的键
(4)expire key seconds-- 设置键值的存在时间
(5)expireat key timestamp -- 更高级的键值保存时间。
(6)keys pattern --查看键值的个数 (keys *可以返回所有的键)
(7)move key db -- 将某个键值移动到另外的数据库(可以用select db来选择数据库)
(8)object --
The OBJECT command allows to inspect the internals of Redis Objects associated with keys. It is useful for debugging or to understand if your keys are using the specially encoded data types to save space. Your application may also use the information reported by the OBJECT command to implement application level key eviction policies when using Redis as a Cache.
The OBJECT command supports multiple sub commands:
OBJECT REFCOUNT <key>
returns the number of references of the value associated with the specified key. This command is mainly useful for debugging.OBJECT ENCODING <key>
returns the kind of internal representation used in order to store the value associated with a key.OBJECT IDLETIME <key>
returns the number of seconds since the object stored at the specified key is idle (not requested by read or write operations). While the value is returned in seconds the actual resolution of this timer is 10 seconds, but may vary in future implementations.
Objects can be encoded in different ways:
- Strings can be encoded as
raw
(normal string encoding) orint
(strings representing integers in a 64 bit signed interval are encoded in this way in order to save space). - Lists can be encoded as
ziplist
orlinkedlist
. Theziplist
is the special representation that is used to save space for small lists. - Sets can be encoded as
intset
orhashtable
. Theintset
is a special encoding used for small sets composed solely of integers. - Hashes can be encoded as
zipmap
orhashtable
. Thezipmap
is a special encoding used for small hashes. - Sorted Sets can be encoded as
ziplist
orskiplist
format. As for the List type small sorted sets can be specially encoded usingziplist
, while theskiplist
encoding is the one that works with sorted sets of any size.
All the specially encoded types are automatically converted to the general type once you perform an operation that makes it impossible for Redis to retain the space saving encoding.
Return value
Different return values are used for different subcommands.
- Subcommands
refcount
andidletime
return integers. - Subcommand
encoding
returns a bulk reply.
If the object you try to inspect is missing, a null bulk reply is returned.
Examples
redis> lpush mylist "Hello World"
(integer) 4
redis> object refcount mylist
(integer) 1
redis> object encoding mylist
"ziplist"
redis> object idletime mylist
(integer) 10
In the following example you can see how the encoding changes once Redis is no longer able to use the space saving encoding.
redis> set foo 1000
OK
redis> object encoding foo
"int"
redis> append foo bar
(integer) 7
redis> get foo
"1000bar"
redis> object encoding foo
"raw"
(9)pexpire key milliseconds -- 设置毫秒级别的键值保存
(10)pexpireat key milliseconds--timestap
(11)ttl key -- 返回设置的键值保存期限还有多少秒!
(12)rename key newkey -- 重新命名一个新的key值
(13)renamenx key newkey -- 重新命名一个新的key值仅仅在key 不存在的情况下
(14)SORT key [BY pattern] [LIMIT offset count][GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA][STORE destination]