Redis的使用方法
一、 工具查看
可以直接使用 redisClients
软件界面操作查看
二、 命令行
redis-cli -h 127.0.0.1 -p 6379
2.1 基础命令
keys *
// 列举所有的keyexpire <key> <seconds>
// 设置某个key的过期时间(单位:秒)ttl <key>
// 显示key的过期时间(单位:秒)【返回-1
表示永久-2
表示key不存在】persist <key>
// 将key的时间设置为永久set
getset
都会将key设置为永久
expireat <key> <1540000000>
// 在某个时间点过期
pexpire
pttl
pexpireat
跟上面一样,只是单位是毫秒
2.2 五种数据类型操作命令:
1 string
用法:
set a 100
// 设置a的值get a
// 获取a的值,不存在则返回nildel a
// 删除agetset a
// 设置并且获取之前的a值incr a
// a增加1incrby a 2
// a增加2exists a
// a是否存在,1为存在,0为不存在decr a
// a减1decrby a 2
// a减少2append a "bbb"
// 在a后面拼接字符串,a变成了100bbbstrlen a
// 获取a的长度mget a b...
// 同时获取多个值mset a 100 b 200
// 同时设置多个值setnx a
// 如果a不存在则设置,存在则失败,返回值1成功,返回0则失败
2 hash
hset key field value
// 设置key的某field为某个valuehget key field
// 获取key的某个field的值hmset key field value [ field value ...... ]
// 同时设置多个hmget key field [ field ...... ]
// 同时获取多个hgetall key
// 获取所有字段和值hexists key field
// 判断某个key的某field是否存在hdel key field [ field .....]
// 删除key的某些fieldhkeys key
// 获取所有字段的名字hvals key
// 获得键中所有字段的值hlen key
// 获得字段数量
3 list
lpush key value [ value ....... ]
- 1 向列表左边增加元素
- 2 返回表示增加元素后列表的长度
rpush key value [ value ....... ]
- 1 向列表右边增加元素
- 2 返回表示增加元素后列表的长度
lpop key
- 1 将列表左边的元素从列表中移除
- 2 返回被移除元素值
rpop key
- 1 将列表右边的元素从列表中移除
- 2 返回被移除元素值
llen key
// 获取列表中元素个数lrange key start stop
// 获得列表片段lrange
与很多语言中用来截取数组片段的方法有一点区别是lrange
返回的值包含最右边的元素lrange
命令也支持负索引,表是从右边开始计算序数,如-1
表示最右边第一个元素,-2
表示最右边第二个元素,以此类推lrem key count value
- 1 删除列表中指定的值 lrem 命令会删除列表中前 count 个值为 value 的元素
- 2 返回值是实际删除的元素个数。
lindex key index
// 获得 或 设置 指定索引的元素值lset key index value
// 是通过索引操作列表的命令,它会将索引为index
的元素赋值为value
ltrim key start end
// 只保留列表指定片段linsert key before | after pivot value
- 1
linsert
命令首先会在列表中从左到右查找值为pivot
的元素,然后根据第二个参数是before
还是after
来决定将value
插入到该元素的前面还是后面,如果命令执行成功 - 2 返回插入操作完成之后列表的长度。如果没有找到
pivot
返回-1
如果key 不存在或为空,返回0
- 1
4 set
sadd key member [ member .... ]
// 增加删除命令srem key member [ member .... ]
// 命令用来从集合中删除一个或多个元素,并返回删除成功的个数smembers key
// 获得集合中的所有元素sismember key member
// 判断一个元素是否在集合中是一个时间复杂度为 0(1) 的操作,无论集合中有多少个元素, sismember 命令始终可以极快的返回结果。当值存在时 sismember 命令返回 1 ,当值不存在或者键不存在时返回 0sdiff key [ key ...... ]
// 命令用来对多个集合执行差集运算sinter key [ key ..... ]
// 该命令用来对多个集合执行交集运算。集合 A 与集合 B 的交集表示为 A∩Bsunion key [ key ...... ]
// 该命令用来对多个集合执行并集运算- `scard key // 获得集合中元素的个数
sdiffstore destination key
[ key …… ] // 进行集合运算并将结果存储sinterstore destination key
[ key …… ]sunionstore destination key
[ key …… ]srandmember key [ count ]
// 随机获得集合中的元素spop key
// 从集合中弹出一个元素
5 zset有序集合
zadd key score member [ score member ...... ]
// 向有序集合中加入一个元素和该元素的分数,如果该元素已经存在,则会用新的分数替换原有的分数zscore key member
// 获得元素的分数zrange key start stop [ withscores ]
// 获得排名在某个范围的元素列表zrevrange key start stop [ withscores ]
zcard key
// 获得集合中元素的数量zcount key min max
// 获得指定分数范围内的元素个数zrem key member [ member .... ]
// 删除一个或多个元素