您的位置:首页 > 数据库 > Redis

Redis常用命令

2016-06-20 11:14 501 查看
auth password 用于检测给定的密码和配置文件中的密码是否相符。

echo message 用于打印给定的字符串。

ping 使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。用于测试与服务器的连接是否仍然生效,或者用于测量延迟值

quit 用于关闭与当前客户端与redis服务的连接

select index 用于切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值

bgrewriteaof 命令用于异步执行一个 AOF(AppendOnly File) 文件重写操作。重写会创建一个当前 AOF 文件的体积优化版本。

bgsave 命令用于在后台异步保存当前数据库的数据到磁盘。

client list 用于返回所有连接到服务器的客户端信息和统计数据

client Kill ip:port 命令用于关闭客户端连接。 如果redis设置了密码,客户端需要重新登录,如果没有设置密码,客户端还是可以继续操作的,只是port变了而已

command 命令用于返回所有的Redis命令的详细信息,以数组形式展示。

command count 命令用于统计 redis 命令的个数。

config get * 获取所以配置信息

config get config_name 获取某个配置的值

config set config_name config_value 设置配置值 或修改配置文件

dbsize 命令用于返回当前数据库的 key 的数量。

flushall 命令用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。包括所有数据库

flushdb 命令用于清空当前数据库中的所有 key。

lastsave 命令返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示。

monitor 命令用于实时打印出 Redis 服务器接收到的命令,调试用。

role 命令查看主从实例所属的角色,角色有master, slave, sentinel。

save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。

shutdown 执行以下操作,1.停止所有客户端,2.如果有至少一个保存点在等待,执行SAVE命令,3.如果AOF选项被打开,更新AOF文件,4.关闭redis服务器(server)

slaveof host port 将当前服务器转变为指定服务器的从属服务器(slave server),如果当前服务器已经是某个主服务器(master server)的从属服务器,那么执行 SLAVEOF host port 将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。对一个从属服务器执行命令 SLAVEOF NO ONE 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。利用『 SLAVEOF NO ONE 不会丢弃同步所得数据集』这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。

set key value [EX seconds] [PX milliseconds] 设置键值对,例如 set user admin EX 20

get key 获取值

del key 删除值

hmset key field value [field value ...] 设置Hash值

hget key field 获取Hash值

hgetall key 获取hash键的所有值

lpush key value 插入一个值到列表的左边

rpush key value 插入一个值到列表的右边

lrange key start stop 返回存储在key列表的特定元素

sadd key merbers 添加一个string元素到,key对应的set集合中

smerbers key 获取key对应的set集合

redis-cli -h host -p port -a password 连接远程的redis服务器

dump key 序列化给定的key,并且返回被序列化的值

exists key 查询key是否存在

expire key seconds 设置key多少秒后过期

expireat key milliseconds 设置key多少毫秒后过期

keys pattern 查找所有符合给定模式 pattern 的 key ,例如 keys * 返回所有的key

move key database 将当前数据库的key值移动到指定数据库db中

persist key 移除key的过期时间,使其永不过期

pttl key 返回key以毫秒为单位的剩余过期时间,-2表示key不存在,-1表示永不过期

ttl key 返回key以秒为单位的剩余过期时间,-2表示key不存在,-1表示永不过期

randomkey 随机返回当前数据库中的一个key

rename key new_key 重新给key命名,如果新名称存在,会被覆盖

renamenx key new_key 和rename类似,只不过当新名称存在时不会覆盖

type key 返回key所存储值的类型,包括 none,string,list,set,zset,hash

String字符串类型的相关命令

set key value 设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型

get key 获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误

getrange key start end 获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定

getset key value 设置指定 key 的值,并返回 key 旧的值, 当 key 没有旧值时,即 key 不存在时,返回 nil 当 key 存在但不是字符串类型时,返回一个错误

mset key1 value1 keyN valueN...设置多个key的值

mget key1 key2 keyN... 返回多个key的值,如果该某个key不存在或者不是string类型,对应的返回nil

setex key seconds value 设置指定的值和过期时间,如果存在则覆盖

psetex key milliseconds vlaue 设置指定值的毫秒过期时间

setnx key value 在指定的 key 不存在时,为 key 设置指定的值

strlen key 获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。如果不存在返回0

incr key 将key中存储的数字值加一,如果key不存在,那么key的值会先被初始化为0,然后再执行incr操作,如果类型不匹配,那么返回一个错误,序列号

incrby key number 将key加指定的值,如果key不存在,那么key的值会先被初始化为0 ,再执行incrby操作,如果类型不匹配,那么返回一个错误

decr key 将key中存储的数字值减一,如果key不存在,那么key的值会先被初始化为0,然后再执行decr操作,如果类型不匹配,那么返回一个错误

decrby key number 将key减去指定的值,如果key不存在,那么key的值会先被初始化为0 ,再执行decrby操作,如果类型不匹配,那么返回一个错

append key new_value 为指定的 key 追加值

Hash哈希类型的相关命令

hset key field value 用于为哈希表中的字段赋值 。

hmset key field1 value1...fieldN valueN 用于同时将多个 field-value (字段-值)对设置到哈希表中。成功返回OK

hsetnx key field value 用于为哈希表中不存在的的字段赋值,设置成功,返回 1 。 如果给定字段已经存在且没有操作被执行,返回 0

hget key field value 返回哈希表中指定字段的值,返回指定的值或nil

hmget key field1...fieldN 用于返回哈希表中,一个或多个给定字段的值。

hgetall key 返回哈希表中,所有的字段和值,返回所以的字段和段值或空列表

hvals key 返回哈希表中,所以字段的值

hdel key field1...fieldN 删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略;返回被成功删除字段的数量,不包括被忽略的字段

hexists key field 查看哈希表的指定字段是否存在,返回0或1

hincrby key field number 类似incrby

hkeys key 用于获取哈希表中的所有字段名,返回哈希表中所有字段的列表。 当 key 不存在时,返回一个空列表。

hlen key 获取哈希表中字段的数量

hstrlen key field 获取哈希表中字段的值的长度

List列表类型的相关命令

lpush key value1 value2 ... valueN 将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。

lpushx key value 将一个值插入到已存在的列表头部,列表不存在时操作无效。

rpush key value1 value2 ... valueN 用于将一个或多个值插入到列表的尾部(最右边)。如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。

rpushx key value 用于将一个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效。

lpop key 用于移除并返回列表的第一个元素, 当列表 key 不存在时,返回 nil 。

rpop key 用于移除并返回列表的最后一个元素。当列表 key 不存在时,返回 nil 。

blpop list1 list2 ... listN timeout 移出并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

brpop list1 list2 ... listN timeout 移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

rpoplpush list another_list 用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回。

brpoplpush list another_list timeout 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

lindex key index 通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素

linsert key before|after pivot value 在列表的元素前或者后插入元素。 当指定元素不存在于列表中时,不执行任何操作。 当列表不存在时,被视为空列表,不执行任何操作。 如果 key 不是列表类型,返回一个错误。

llen key 用于返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误。

lrange key start end 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。

lrem key count value 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素

lset key index value 通过索引来修改元素的值。当索引参数超出范围,或对一个空列表进行 LSET 时,返回一个错误,操作成功返回OK

ltrim key start end 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

Set集合类型的相关命令

Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

sadd key value1 ... valueN 将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。

scard key 返回集合中元素的数量。

sdiff key1 key2 ... keyN 返回给定集合之间的差集。不存在的集合 key 将视为空集。

sdiffstore destination key1 key2 .. keyN 将给定集合之间的差集存储在指定的集合中。如果指定的集合 key 已存在,则会被覆盖。

sinter key1 key2 ... keyN 返回给定所有给定集合的交集。 不存在的集合 key 被视为空集。 当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。

sinterstore destination key1 key2 ... keyN 将给定集合之间的交集存储在指定的集合中。如果指定的集合已经存在,则将其覆盖。

sismember key value 判断成员元素是否是集合的成员,如果成员元素是集合的成员,返回 1 。 如果成员元素不是集合的成员,或 key 不存在,返回 0 。

smembers key 返回集合中的所有的成员。 不存在的集合 key 被视为空集合

smove source destination member 将指定成员 member 元素从 source 集合移动到 destination 集合

spop key [count] 用于移除并返回集合中的(默认一个)随机元素。当集合不存在或是空集时,返回 nil 。

srandmember key [count] 返回集合中的(默认一个)随机元素,该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回

srem key member [member] 移除集合中的一个或多个成员元素,不存在的成员元素会被忽略。

sunion key1...keyN 返回给定集合的并集。不存在的集合 key 被视为空集。

sunionstore destination key1...keyN 将给定集合的并集存储在指定的集合 destination 中。如果 destination 已经存在,则将其覆盖

sorted set有序集合的相关命令

有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

zadd key score1 member1 ... scoreN memberN 用于将一个或多个成员元素及其分数值加入到有序集当中

zcard key 用于计算集合中元素的数量。

zcount key min max 用于计算有序集合中指定分数区间的成员数量

zincrby key increment member 对有序集合中指定成员的分数加上增量 increment

zrange key start stop [withscores] 返回有序集中,指定区间内的成员。

zrank key member 返回有序集中指定成员的排名。其中有序集成员按分数值递增(从小到大)顺序排列。第一名返回0

zrem key member1...memberN 移除有序集中的一个或多个成员,不存在的成员将被忽略

zremrangebyrank key start stop 用于移除有序集中,指定排名(rank)区间内的所有成员

zremrangebysocre key mix max 用于移除有序集中,指定分数(score)区间内的所有成员

zscore key member 返回有序集中,成员的分数值。 如果成员元素不是有序集 key 的成员,或 key 不存在,返回 nil 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: