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的时间设置为永久setgetset都会将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的元素赋值为valueltrim 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 .... ]// 删除一个或多个元素