赞
踩
Redis数据结构、Redis通用命令、Redis 的 key 的层次结构、Redis5种数据类型及基本命令(String、List、Hash、Set、SortedSet)
参考链接: Redis数据库通用命令(SELECT、KEYS、SCAN、RANDOMKEY、SORT、EXISTS、DBSIZE、TYPE、RENAME、MOVE、DEL…)
Redis 是一个键值对(key-value)数据库,因此其基本查询语句是基于键(key)的。以下是一些基本的 Redis 操作语句:
SELECT dbname
一个Redis服务器可以包含多个数据库。在默认情况下,Redis服务器在启动时将会创建16个数据库:这些数据库都使用号码进行标识,其中第一个数据库为0号数据库,第二个数据库为1号数据库,而第三个数据库则为2号数据库,以此类推。
Redis虽然不允许在同一个数据库中使用两个同名的键,但是由于不同数据库拥有不同的命名空间,因此在不同数据库中使用同名的键是完全没有问题的,而用户也可以通过使用不同数据库来存储不同的数据,以此来达到重用键名并且减少键冲突的目的。
当用户使用客户端与Redis服务器进行连接时,客户端一般默认都会使用0号数据库,但是通过使用SELECT命令,用户可以从当前正在使用的数据库切换到自己想要使用的数据库。
FLUSHDB
,FLUSHDB命令会遍历用户正在使用的数据库,移除其中包含的所有键值对,然后返回OK表示数据库已被清空。 默认为同步移除。FLUSHDB SYNC
:同步移除命令,并且因为FLUSHDB移除的是整个数据库而不是单个键,所以它常常会引发比DEL命令更为严重的服务器阻塞现象。FLUSHDB ASYNC
:实际的数据库清空操作将放在后台线程中以异步方式进行,这样FLUSHDB命令就不会再阻塞服务器了。FLUSHALL
,清空Redis服务器包含的所有数据库。与FLUSHDB命令一样,以同步方式执行的FLUSHALL命令也可能会导致服务器阻塞,因此Redis 4.0也给FLUSHALL命令添加了同样的async选项。
SWAPDB dbindex1 dbindex2
,接受两个数据库号码作为输入,然后对指定的两个数据库进行互换,最后返回OK作为结果.在SWAPDB命令执行完毕之后,原本存储在数据库index1中的键值对将出现在数据库index2中,而原本存储在数据库index2中的键值对将出现在数据库index1中。
MOVE Key DBName
当MOVE命令成功将给定键从当前数据库移动至目标数据库时,命令返回1;
如果给定键并不存在于当前数据库,或者目标数据库中存在与给定键同名的键,那么MOVE命令将不做动作,只返回0表示移动失败。
回到目录
SET key value
,这将在数据库中设置一个键值对。如果键已经存在,那么旧值将被替换。GET key
,这会返回键对应的值。如果键不存在,那么将返回 null。EXISTS key
,这会返回一个数字,表示键存在的数量。如果键存在,返回值是1,否则是0。DEL key [key ...]
:这将删除一个或多个键。如果成功,返回被删除的键的数量。以同步方式执行移除操作,所以如果待移除的键非常庞大或者数量众多,那么服务器在执行移除操作的过程中就有可能被阻塞。比如,移除一个包含上百万个元素的集合,移除一个包含数十万个键值对的散列,或者一次移除成千上万个键,都有可能引起服务器阻塞。
UNLINK key [key ...]
:以异步方式移除指定的键,返回被移除键的数量作为结果UNLINK命令与DEL命令一样,都可以用于移除指定的键,但它与DEL命令的区别在于,当用户调用UNLINK命令去移除一个数据库键时,UNLINK只会在数据库中移除对该键的引用(reference),而对键的实际移除操作则会交给后台线程执行,因此UNLINK命令将不会造成服务器阻塞。
TYPE key
,这会返回键值的类型。可能的返回值包括"string"、“list”、“set”、“zset” 和 “hash”。LLEN key
,对于列表类型有效,返回值的长度。对于其它类型返回异常。STRLEN key
,对于字符串类型有效,返回值的长度。对于其它类型返回异常。KEYS patterns
,SCAN cursor [MATCH pattern] [COUNT count]
,SCAN 命令用于迭代数据库中的 key。cursor 是必需的,它是一个整数,表示当前的游标。pattern 和 count 是可选的。INFO *
,返回关于 Redis 服务器的一些信息。INFO key [key ...]
,返回关于给定键的信息和统计数据。例如使用 INFO keyspace 可以查看所有数据库的信息和统计数据。DBSIZE
RENAME
:如果用户指定的新键名已经被占用,那么RENAME命令会先移除占用了新键名的那个键,然后再执行改名操作。RENAMENX
:只会在新键名尚未被占用的情况下进行改名,如果用户指定的新键名已经被占用,那么RENAMENX将放弃执行改名操作。EXPIRE key seconds
key 是要设置过期时间的键,seconds 是过期时间,以秒为单位。当使用 EXPIRE 命令时,如果键不存在,将返回 0,表示键不存在。如果键存在,将返回 1,表示键存在并成功设置了过期时间。
TTL key
该命令将返回一个数字,表示剩余的TTL时间(以秒为单位)。如果键不存在,该命令将返回一个错误。需要注意的是,当一个键被删除或者设置了一个新的TTL值后,该键的剩余TTL时间将被重新计算。
\
Redis 基础 – 散列 Hash 类型 和 Hash 类型的常用命令
有序集合 SortedSet类型 和 SortedSet类型的常用命令
字符串 String 类型 和 String 类型的常用命令
流(stream)类型 和 流(stream)类型的常用命令
地理坐标类型 Redis GEO 和 Redis GEO的常用命令(含GEOHASH编码说明)
位图(bitmap)数据结构和 bitmap的常用命令(SETBIT、GETBIT、BITCOUNT、BITPOS、BITOP、BITFIELD)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。