
命令 | 说明 |
|---|---|
redis-server | 前台启动 |
redis-server & | 后台启动 |
redis-server redis.conf & | 指定配置文件启动redis服务 |
命令 | 说明 |
|---|---|
redis-cli | 默认连接127.0.0.1(本机)的6379端口上的redis服务 |
redis-cli -p 端口号 | 连接127.0.0.1(本机)的指定端口上的redis服务 |
redis-cli -h ip地址 -p 端口 | 连接指定ip主机上的指定端口的redis服务 (-a 指定密码) |
exit 、quit | 退出客户端(在客户端执行命令) |
redis-cli shutdown | 关闭redis服务,亦可登录客户端后执行 |
ping | 测试连接状态,正常返回:pong |
info | 查看redis服务的所有统计信息 |
info [信息段] | 查看redis服务器的指定的统计信息,如:info Replication |
select index | 切换数据库,默认16个,无法指定名称 |
dbsize | 看当前数据库实例中所有key的数量 |
keys * | 查看当前数据库实例中所有的key |
flushdb | 清空数据库实例 |
flushall | 清空所有的数据库实例 |
config get * | 查看redis中所有的配置信息 |
config get parameter | 查看redis中的指定的配置信息 |
slaveof host port | 设置从属节点 |
slaveof no one | 断开主从关系 |
redis-benchmark.sh 测试redis服务的性能:
命令 | 说明 |
|---|---|
keys pattern | 查看数据库中的key*:匹配0个或者多个字符?: 匹配1个字符[]:匹配[]里边的1个字符 |
exists key | 判断key在数据库中是否存在,如果存在,则返回1;如果不存在,则返回0 |
exists key [key key …] | 返回值是存在的key的数量 |
move key index | 移动指定key到指定的数据库实例 |
ttl key | 查看指定key的剩余生存时间;如果key没有设置生存时间,返回-1,如果key不存在,返回-2 |
expire key seconds | 设置key的最大生存时间(秒) |
type key | 查看指定key的数据类型 |
rename key newnamekey | 重命名key |
del key [key key …] | 删除指定的key,返回值是实际删除的key的数量 |
Redis 以key-value形式访问数据,数据结构包括:string、list、set、hash、zset
命令 | 说明 |
|---|---|
set key value | 将string类型的数据设置到redis中 |
get key | 从redis中获取string类型的数据 |
append key value | 追加字符串;返回追加之后的字符串长度;如果key不存在,则新创建一个key,并且把value值设置为value |
strlen key | 获取字符串数据的长度 |
incr key | 将字符串数值进行加1运算,返回加1运算之后的数据;如果key不存在,首先设置一个key,值初始化为0,然后进行incr运算要求key所表示value必须是数值,否则,报错 |
decr key | 将字符串数值进行减1运算,返回减1运算之后的数据;如果key不存在,首先设置一个key,值初始化为0,然后进行decr运算要求key所表示value必须是数值,否则,报错 |
incrby key num | 将字符串数值进行加num运算,返回加num运算之后的数据;如果key不存在,首先设置一个key,值初始化为0,然后进行incrby运算要求key所表示value必须是数值,否则,报错 |
decrby key num | 将字符串数值进行减num运算,返回减num运算之后的数据;如果key不存在,首先设置一个key,值初始化为0,然后进行decrby运算要求key所表示value必须是数值,否则,报错 |
getrange key startIndex endIndex | 闭区间获取字符串key中从startIndex到endIndex的字符组成的子字符串下标自左至右,从0开始,依次往后,最后一个字符的下标是字符串长多-1字符串中每一个下标也可以是负数,负下标表示自右至左,从-1开始,依次往前,最右边一个字符的下标是-1 |
setrange key startIndex value | 用value覆盖从下标为startIndex开始的字符串,能覆盖几个字符就覆盖几个字符 |
setex key seconds value | 设置字符串数据的同时,设置它最大生命周期 |
setnx key value | 设置string类型的数据value到redis数据库中,当key不存在时设置成功,否则,则放弃设置 |
mset key1 value1 [key2 value3] [ …] | 批量将string类型的数据设置到redis中 |
mget key1 [key2] [ …] | 批量从redis中获取string类型的数据 |
msetnx key1 value1 [key2 value3] [ …] | 批量设置string类型的数据value到redis数据库中当所有key都不存在时设置成功,否则(只要有一个已经存在),则全部放弃设置 |
命令 | 说明 |
|---|---|
lpush key value [value value …] | 将一个或者多个值依次插入到列表的表头(左侧)例:lpush list01 1 2 3 结果:3 2 1 |
lrange key startIndex endIndex | 获取指定列表中指定下标区间的元素(从左往右0开始,从右往左-1开始)例:lrange list1 0 -1 结果:5 4 3 2 1 |
rpush key value [value value …] | 将一个或者多个值依次插入到列表的表尾(右侧)例:rpush list2 a b c 结果:a b c |
lpop key | 从指定列表中移除并且返回表头元素 |
rpop key | 从指定列表中移除并且返回表尾元素 |
lindex key index | 获取指定列表中指定下标的元素 |
llen key | 获取指定列表的长度 |
lrem key count value | 根据count值移除指定列表中跟value相等的数据count>0:从列表的左侧移除count个跟value相等的数据count<0:从列表的右侧移除count个跟vlaue相等的数据count=0:从列表中移除所有跟value相等的数据 |
ltrim key startIndex endIndex | 截取指定列表中指定下标区间的元素组成新的列表,并且赋值给key |
lset key index value | 将指定列表中指定下标的元素设置为指定值 |
linsert key before/after pivot vlaue | 将value插入到指定列表中位于pivot元素之前/之后的位置 |
命令 | 说明 |
|---|---|
sadd key value [value value …] | 将一个或者多个元素添加到指定的集合中,返回成功加入的元素的个数如果元素已经存在,则会忽略; |
smembers key | 获取指定集合中所有的元素 |
sismember key member | 判断指定元素在指定集合中是否存在,1)存在,0)不存在 |
scard key | 获取指定集合的长度 |
srem key member [member …] | 移除指定集合中一个或者多个元素,返回成功成功移除的个数不存在的元素会被忽略 |
srandmember key [count] | 随机获取指定集合中的一个或者多个元素count>0:随机获取的多个元素之间不能重复count<0: 随机获取的多个元素之间可能重复count=0: 返回空不带count:随机返回1个 |
spop key [count] | 从指定集合中随机移除一个(不带count)或者多个元素 |
smove source dest member | 将指定集合中的指定元素移动到另一个元素 |
sdiff key1 key2 [key3 key4 …] | 获取差集;第一个集合中有、但是其它集合中都没有的元素组成的新集合 |
sinter key1 key2 [key3 key4 …] | 获取交集;所有指定集合中都有的元素组成的新集合 |
sunion key1 key2 [key3 key4 …] | 获取并集;所有指定集合中所有元素组成的大集合 |
命令 | 说明 |
|---|---|
hset key filed1 value1 [field2 value2 …] | 将一个或者多个field-vlaue对设置到哈希表中如果key field已经存在,把value会把以前的值覆盖掉 |
hget key field | 获取指定哈希表中指定field的值 |
hmset key filed1 value1 [field2 value2 …] | 批量将多个field-value对设置到哈希表中,同hset |
hmget key field1 [field2 field3 …] | 批量获取指定哈希表中的field的值 |
hgetall key | 获取指定哈希表中所有的field和value |
hdel key field1 [field2 field3 …] | 从指定哈希表中删除一个或者多个field |
hlen key | 获取指定哈希表中所有的filed个数 |
hexists key field | 判断指定哈希表中是否存在某一个field |
hkeys key | 获取指定哈希表中所有的field列表 |
hvals key | 获取指定哈希表中所有的value列表 |
hincrby key field int | 对指定哈希表中指定field值进行整数加法运算 |
hincrbyfloat key field float | 对指定哈希表中指定field值进行浮点数加法运算 |
hsetnx key field value | 将一个field-vlaue对设置到哈希表中,当key-field已经存在时,则放弃设置;否则,设置file-value: |
命令 | 说明 |
|---|---|
zadd key score member [score member …] | 将一个或者多个member及其score值加入有序集合如果元素已经存在,则把分数覆盖 |
zrange key startIndex endIndex [withscores] | 获取指定有序集合中指定下标区间的元素[显示分数]index>0: 从左往右,首位0index<0: 从右往左,首位-1 |
zrangebyscore key min max [withscores] | 获取指定有序集合中指定分数区间(闭区间)的元素[显示分数] |
zrem key member1 [member2 member3 …] | 移出元素 |
zcard key | 获取指定有序集合中所有元素的个数 |
zcount key min max | 获取指定有序集合中分数在指定区间内的元素的个数 |
zrank key member | 获取指定有序集合中指定元素的排名(排名从0开始) |
zscore key member | 获取指定有序集合中指定元素的分数 |
zrevrank key member | 获取指定有序集合中指定元素的排名(按照分数从大到小的排名) |
zrevrange key startIndex endIndex [withscores] | 获取指定有序集合中指定下标区间的元素[显示分数] (按照分数从大到小的排名)index>0: 从左往右,首位0index<0: 从右往左,首位-1 |
zrevrangebyscore key min max [withscores] | 获取指定有序集合中指定分数区间(闭区间)的元素[显示分数] (按照分数从大到小的排名) |
命令 | 说明 |
|---|---|
multi | 用来标记一个事务的开始 |
exec | 用来执行事务队列中所有的命令 |
discard | 清除所有已经压入队列中的命令,并且结束整个事务 |
watch key | 监控某一个键;当事务在执行过程中,此键代码的值发生变化,则本事务放弃执行;否则,正常执行 |
unwatch | 放弃监控所有的键 |
redis的事务只能保证部分原子性
命令 | 说明 |
|---|---|
subscribe channel1 [channel2 …] | 订阅一个或者多个频道的消息 |
publish channel message | 将消息发布到指定频道 |
psubscribe pattern1 [pattern2 …] | 订阅一个或者多个频道的消息,频道名支持通配符如 news.* |