Redis 常用命令
找到 Redis 安装目录,进入 src 文件夹下,使用 ./redis-cli
进入到 Redis 命令行交互界面。
是否启动
检查 Redis 是否启动,如果返回 PONG
则表明 Redis 已经启动
1
127.0.0.1:6379>ping
获取所有配置项
1 | 127.0.0.1:6379>config get * |
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及
zset(sorted set:有序集合)。 ### String 操作
1
2127.0.0.1:6379>set foo bar
127.0.0.1:6379>get foo
Hash 操作
1 | 127.0.0.1:6379>hmset student xiaoming "16" xiaohong "28" |
List 操作
1 | 127.0.0.1:6379>lpush fruit apple |
Set
1 | 127.0.0.1:6379>sadd color yellow |
zset(sorted set)
1 | 127.0.0.1:6379>zadd animal 0 cat |
Redis keys 命令
命令 | 功能 | 举例 |
---|---|---|
del key | key 存在时删除 key | 127.0.0.1:6379>del aaa |
dump key | 序列化给定 key ,并返回被序列化的值 | 127.0.0.1:6379>dump color |
exists key | 检查给定 key 是否存在 | 127.0.0.1:6379>exists color |
expire key | 为给定 key 设置过期时间 | 127.0.0.1:6379>expire color |
expireat key | EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp) | |
pexpire key | 设置 key 的过期时间以毫秒计 | |
pexpireat key | 设置 key 过期时间的时间戳(unix timestamp) 以毫秒计 | |
keys pattern | 查找所有符合给定模式( pattern)的 key | keys color* |
move key db | 将当前数据库的 key 移动到给定的数据库 db 当中 | |
persist key | 移除 key 的过期时间 | persist fruit |
pttl key | 以毫秒为单位返回 key 的剩余的过期时间 | pttl fruit |
ttl key | 以秒为单位,返回给定 key 的剩余生存时间 | ttl color |
randomkey | 从当前数据库中随机返回一个 key | randomkey |
rename key newkey | 修改 key 的名称 | rename fruit fruits |
type key | 返回 key 所储存的值的类型 | type fruit |
字符串的更多操作命令
getrange key start end
返回 key 中字符串值的子字符 1
2
3127.0.0.1:6379>set mykey "This is my test key"
127.0.0.1:6379>getrange mykey 0 3
127.0.0.1:6379>getrange mykey 0 -1
getset key value
将给定 key 的值设为 value ,并返回 key 的旧值(old value)
1
127.0.0.1:6379>getset mykey "hahaha,i am new"
getbit key offset
对 key 所储存的字符串值,获取指定偏移量上的位(bit)
mget key1 [key2…]
获取所有(一个或多个)给定 key 的值 1
2
3127.0.0.1:6379>set key1 "hello"
127.0.0.1:6379>set key2 "world"
127.0.0.1:6379>mget key1 key2
setbit key offset value
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)
setex key seconds value
将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)
1
127.0.0.1:6379>setex mykey 60 redis
setnx key value
只有在 key 不存在时设置 key 的值 1
127.0.0.1:6379>setnx job "manager"
setrange key offset value
用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始
1
2127.0.0.1:6379>set mykey1 "hello world"
127.0.0.1:6379>setrange mykey1 6 "redis"
strlen key
返回 key 所储存的字符串值的长度 1
127.0.0.1:6379>strlen mykey
mset key value [key value…]
同时设置一个或多个 key-value 对 1
127.0.0.1:6379>mset key1 "cat" key2 "bear" key3 "panda"
msetnx key value [key value…]
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在
1
2127.0.0.1:6379>msetnx rmdbs "MySQL" nosql "MongoDB" key-value-store "redis"
127.0.0.1:6379>mget rmdbs nosql key-value-store
psetex key milliseconds value
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
incr key
将 key 中储存的数字值增一。 1
2127.0.0.1:6379>set page_view 20
127.0.0.1:6379>incr page_view
incrby key increment
将 key 所储存的值加上给定的增量值(increment) 。 1
127.0.0.1:6379>incrby page_view 10
incrbyfloat key increment
将 key 所储存的值加上给定的浮点增量值(increment) 。
1
127.0.0.1:6379>incrbyfloat page_view 0.1
decr key
将 key 中储存的数字值减一。 1
2127.0.0.1:6379>set failure_times 10
127.0.0.1:6379>decr failure_times
decrby key decrement
key 所储存的值减去给定的减量值(decrement) 。 1
127.0.0.1:6379>decrby failure_times 2
append key value
如果 key 已经存在并且是一个字符串, APPEND 命令将 指定value 追加到改
key 原来的值(value)的末尾。 1
2127.0.0.1:6379>append myphone "iphone"
127.0.0.1:6379>append myphone " 6 plus"
Redis 哈希(Hash)
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
hdel key field1 [field2]
删除一个或多个哈希表字段 1
2127.0.0.1:6379>hset fruit name "apple" price "5.8"
127.0.0.1:6379>hdel fruit price
hexists key field
查看哈希表 key 中,指定的字段是否存在。 1
127.0.0.1:6379>hexists fruit price
hget key field
获取存储在哈希表中指定字段的值。 1
127.0.0.1:6379>hget fruit price
hgetall key
获取在哈希表中指定 key 的所有字段和值 1
127.0.0.1:6379>hgetall fruit
hincrby key field increment
为哈希表 key 中的指定字段的整数值加上增量 increment 。
1
2127.0.0.1:6379>hset myhash field 5
127.0.0.1:6379>hincrby myhash field 1
hincrbyfloat key field increment
为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
1
127.0.0.1:6379>hincrbyfloat fruit price 0.6
hkeys key
获取所有哈希表中的字段 1
127.0.0.1:6379>hkeys fruit
hlen key
获取哈希表中字段的数量 1
127.0.0.1:6379>hlen fruit
hmget key field1 [field2]
获取所有给定字段的值 1
127.0.0.1:6379>hmget fruit name price
hmset key field1 value1 [field2 value2]
同时将多个 field-value (域-值)对设置到哈希表 key 中。
1
127.0.0.1:6379>hmset fruit number 11 size big
hset key field value
将哈希表 key 中的字段 field 的值设为 value 。 1
127.0.0.1:6379>hset fruit size small
hsetnx key frild value
只有在字段 field 不存在时,设置哈希表字段的值。 1
127.0.0.1:6379>hsetnx fruit size middle
hvals key
获取哈希表中所有值 1
127.0.0.1:6379>hvals fruit
hscan key cursor [MATCH pattern] [COUNT count]
迭代哈希表中的键值对。
Redis 列表(List)
Redis 列表是简单的字符串列表,按照插入顺序排序。允许重复。 #### blpop
key1 [key2] timeout 移出并获取列表的第一个元素,
如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
1
127.0.0.1:6379>blpop mylist 10
brpop key1 [key2] timeout
移出并获取列表的最后一个元素,
如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
1
127.0.0.1:6379>brpop mylist 10
brpoplpush source destination timeout
从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它;
如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
1
127.0.0.1:6379>brpoplpush mylist reciver 10
lindex key index
通过索引获取列表中的元素 1
127.0.0.1:6379>lindex reciver 0
linsert key before|after pivot value
在列表的元素前或者后插入元素 1
2127.0.0.1:6379>rpush mylist "World"
127.0.0.1:6379>linsert mylist before "World" "Hello"
llen key
获取列表长度 1
127.0.0.1:6379>llen mylist
lpop key
移出并获取列表的第一个元素 1
127.0.0.1:6379>lpop mylist
lpush key value1 [value2]
将一个或多个值插入到列表头部 1
2127.0.0.1:6379>lpush mylist "this"
127.0.0.1:6379>lpush mylist "that"
lpushx key value
将一个值插入到已存在的列表头部 1
127.0.0.1:6379>lpushx mylist "foo"
lrange key start stop
获取列表指定范围内的元素 1
127.0.0.1:6379>lrange mylist 0 -1
lrem key count value
移除列表元素 1
127.0.0.1:6379>lrem mylist 0 foo
lset key index value
通过索引设置列表元素的值 1
127.0.0.1:6379>lset mylist 0 "foo"
ltrim key start stop
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
1
127.0.0.1:6379>ltrim mylist 1 -1
rpop key
移除并获取列表最后一个元素 1
127.0.0.1:6379>rpop mylist
rpoplpush source destination
移除列表的最后一个元素,并将该元素添加到另一个列表并返回
1
127.0.0.1:6379>rpoplpush mylist list1
rpush key value1 [value2]
在列表中添加一个或多个值 1
127.0.0.1:6379>rpush mylist "hello" "hey" "world"
rpushx key value
为已存在的列表添加值 1
127.0.0.1:6379>rpushx mylist "hahahaha"
Redis 集合(Set)
1 | 127.0.0.1:6379> |
1 | 127.0.0.1:6379> |
1 | 127.0.0.1:6379> |
1 | 127.0.0.1:6379> |
参考文档: Redis 教程