redis命令学习

set key value 给key中存储一个value字符串,如果key中已经有值则进行覆盖,注意只能赋值字符串类型的
setnx key value 如果key不存在则给可以中存储value字符串,如果key已经存在则不做任何操作,成功返回1 失败返回0
setex key sec value 给key赋值value并制定有效期为sec,如果key已经存在则覆盖旧值,成功返回ok,可以使用ttl key查看剩余时间
psetex key msec value 和setex一样 不过value过期时间以毫秒计算
setrange key offset value 在key值的offset处用value值替换后面的值,如果key不存在,则offset之前的值用\x00代替
mset key value key value 同时给多对key-value赋值,如果key值存在则覆盖掉
msetnx 同mset,但是是假设所有的key都不存在,如果其中一个key存在,则所有的赋值均失败
append key value 给已经存在的key的值增加value字符串,如果可以不存在则相当于set
get key 返回key所关联的字符串值,注意如果值不是字符串类型的,则返回一个错误
mget key key 获取多个key的value,如果其中一个key不存在则返回nil
getrange key start end 获取key值的子字符串,负数表示从结尾开始获取,在使用负数索引时也是end大于start(-6 -1),阈值范围超过value会被自动忽略
getset key value 给key赋值value,并返回以前旧的key值,如果以前key就不存在,返回nil
strlen key 返回key所存储的字符串长度
incr key 给key中存储的可以表示为数字的值加1,如果key中的值不能表示为数字则返回错误,如果key不存在,则先初始化为0然后加1
incrby key count 同incr,不过一次不是加1,而是加指定的count
decr key 将key中存储的可以表示为数字的值减1,如果key中的值不能表示为数字则返回错误
decrby key count 同decr,不过一次不是减1,而是减去指定的count 
setbit key offset value 对key所存储的字符串值,清除指定偏移量上的bit
getbit key offset 对key所存储的字符串值,获取指定偏移量上的值
bitop op destkey  key key 对多个key进行位操作,值赋值在destkey上,op是位操作,可以是and or xor等 ,not只需要一个key



hset key fied value  将hash表key中的filed域的值设置为value,如果hash表key不存在则新的hash表将被创建,如果filed域已经存在责备新值覆盖,成功返回1
hsetnx key filed value 同hset,如果hash表key不存在则创建新的key,如果filed已经存在,则赋值操作无效,成功返回1
hmset key field value filed value 将多个filed/value值加入key表中
hget key filed 获取hash表key中fled域的值
hmget key filed field 获取hashbiaokey中多个filed的值,如果key不存咋当作空表处理
hgetall key 返回hash表key中的所有域和值,以列表的形式返回域和值
hdel key faild faild 删除hash表key中多个域,如果域不存在则被忽略,返回删除域的数量
hlen key 获得hash表key中域的数量
hexists key faild 查看某一个域是否在hash表key中
hincrby key field count 给hash表key中的filed域的值加上count,如果阈值是字符串则造成错误,增量count可以是负值,相当于减
hkeys key 返回hash表key中的所有域,key不存在时返回空表
hvals key 返回hash表key中的所有域的值


del key key 删除一个或者多个key,不存在的key被忽略
keys pattern 查找所有符合给定模式pattern的key,特殊字符用\转义
randomkey 从当前数据库中随机的返回一个key
ttl key 以秒为单位返回设置了生存时间的key的剩余时间,如果没有设置生存时间则返回-1
pttl key 同ttl 不过是以毫秒为单位
exists key 测试一个key是否存在 成功返回1 
move key db 将当前数据库中的key移动到db数据库中,如果当前数据库和目标数据库中有相同的key,或者key不在当前数据库中,则移动失败,redis默认使用数据库0
rename key newkey 将key重命名为newkey,如果key和newkey同名,或者key不存在,则返回一个错误
renamenx key newkey 同rename,仅当newkey不存在时。
type key 返回key中存储的值的类型,有string list set zset hash等类型,none表示不存在
expire key sec 为一个key设置生存时间,时间过期后key会被自动删除,要删除一个生存时间只能用del或者set getset来修改
persist key 删除key上指定的生存时间
pexpire key msec 同expire,以毫秒为单位
expireat key timestamp 也是设置生存时间的,不过是以uninx时间戳为单位,以秒计算
key milliseconds timestamp 同expireat,不过以毫秒为单位
sort key xx 返回给定列表、集合、有序集合经过排序的元素,默认以数字为对象,字符串排序可以加修饰符alpha
migrate host port key dest-db timeout 经key从当前实例传送到目标实例指定的数据库,成功后会删除当前实例的key
dump key 序列化给定的key,并返回序列化值
restore key 反序列化给定的序列化值,并将他和给定的key关联


lpush key value value 将一个或者多个value值加入key列表头中,value在列表中以加入的反向顺序存在
lpushx key value 同lpush,仅当key列表存在,如果key不存在则不做任何操作
rpush key value value 将一个或者多个value插入到key列表的最右边
rpushx key value 同rpush,仅当key列表存在
lpop key 返回key列表头的元素并删除头元素。类似于pop出栈
rpop key 返回key列表结尾的元素,然后删除结尾的元素
blpop key timeout
brpop key timeout
llen key 返回key列表的长度
lrange key start stop 返回列表key中指定区间的元素,偏移量是start和stop标记,start和stop都以0开始,所取得元素包括stop
lrem key count value 根据count的值删除key列表中的value值,count>0 从表头开始删除count个,count<0从表末尾删除count个,count=0删除全部的value
lset key index value 将key列表下标为index的值修改为value
ltrim key start stop 对key列表进行修剪,让列表值保留指定区间的元素,不在区间的元素都删除。
lindex key index 返回列表key中下标为index的元素,记住下标默认从0开始
linsert key before|after pivot value 将value值插入key列表中的pivot值之后。注意只插入第一个找到的值之后。
rpoplpush source destination 将source列表的尾部元素弹出返回给客户端,同时加入destination列表的头部



sadd key member member 将一个或者多个元素加入key集合中
srem key member 删除key集合中的member元素
smembers key 返回key集合中的所有元素
sismember key member 判断member是否为key集合中的一个元素
scard key 返回key集合中元素的数量
smove source dest member 将sourcer集合中的member元素移动到dest集合中,如果dest集合中已经有member,则只是移除source中的member
spop key 随机的删除并返回集合中被删除的元素
srandomember key 同spop,只是随机的返回一个元素,但不删除
sinter key key 返回多个集合的交集
sinterstore dest key key 同sinter,不过会把计算出来的交集结果存入dest集合中
sunion key key 返回所有集合的并集
sunionstore dest key key 同sunion,不过并集的结果存入dest集合中
sdiff key key 返回所有集合的差集
sdiffstore dest key key 同sdiff,不过差集的结果存储dest集合中


publish channel message 将信息memssage发送到频道channel
subscribe channel channel 订阅一个或者多个频道信息
psubscribe pattern channel channel 订阅一个或者多个匹配pattern模式的频道
unsubscribe channel channel 指示客户端退订频道
punsubscribe pattern pattern 指示客户端退订pattern模式的频道


watch key key 见识一个或者多个key,如果在事物执行之前这些key有变化,则事物执行被打断
unwatch 取消对所有的key的监控,执行exec或者discard后不用手动取消watch
multi 标记一个事物的开始,事物内的指令按照先后顺序执行,最后有exec命令原子执行
discard 取消事物,不执行事物内的指令
exec 执行事物内的指令


auth password 通过设置配置文件中的requirepass参数,可以为redis服务器设置密码,在每次开启redis服务后,进入redis时都需要输入密码,才能使用其他命令
ping 使用redis客户端向redis服务器发送一个ping,如果正常返回pong
select index 切换到指定的数据库,数据库以0作为起始号码,默认使用0号数据库
echo message 打印特定的消息 
quit 推出连接



time 返回当前服务器的时间
dbsize 返回当前数据库key的数量
bgsave 在后台异步保存当前数据库数据到磁盘,客户端可以通过lastsave查看执行是否成功
save 执行一个同步保存动作,将当前所有的数据快照以rdb的形式保存到硬盘,生产环境少用,一般用bgsave
lastsave 查看redis最近一次成功将数据保存到磁盘的时间
monitor 实时打印出redis服务器收到的命令
info 返回服务器的信息
config get parameter  用于取得运行中的redis服务器的配置参数,可以模糊搜索
config set parameter  用于动态调整redis服务器的配置,无需重启
config resetstat 统计一些数据
slowlog Slow log 是 Redis 用来记录查询执行时间的日志系统 记录单单是执行一个查询命令所耗费的时间,log存贮在内存中
shutdown 停止所有客户端、如果有至少一个保存点在等待,执行 SAVE 命令、如果 AOF 选项被打开,更新 AOF 文件、关闭 redis 服务器(server)
flushdb 清空当前数据库的所有key
flushall 清空整个redis服务的数据,包括所有数据库的key



你可能感兴趣的:(redis命令学习)