1. 首页
  2. >
  3. 数据库技术
  4. >
  5. Redis

Redis几乎所有命令都在这了,还说你不会?

密码登录:

1. redis-cli -h 127.0.0.1 -p 6379 -a flyvar

字符串类型:

1. set name ericzhao  // set key value [EX seconds] [PX milliseconds] [NX|XX]
2. redis 127.0.0.1:6379> SET KEY VALUE [EX seconds] [PX milliseconds] [NX|XX]EX seconds − 设置指定的到期时间(以秒为单位)。PX milliseconds - 设置指定的到期时间(以毫秒为单位)。NX - 仅在键不存在时设置键。XX - 只有在键已存在时才设置。
3. redis 127.0.0.1:6379> SET mykey "redis" EX 60 NX  // 在键“mykey”不存在时,设置键的值,到期时间为60秒
4. get name
5. keys *  // 查看所有key
6. getrange name 0 1  // getrange key start end 获取字符串中的子字符
7. getset name zhao  // getset key value 将key的值设置成value,返回key的旧值。没有旧值,返回nil
8. mget name age  // mget key [key2...]  获取多个key的值
9. mset name zhao age 18  // 设置多个key-value,原子性
10. setex name 1 zhao  // setex key seconds value 设置key的过期时间为seconds秒【setnx不是原子的吗?】
11. psetex name 1 zhao  // psetex key milliseconds value 设置key的过期时间为milliseconds毫秒
12. setnx name zhao  // setnx key value 当key不存在时设置key的值为value
13. msetnx name zhao age 10  // msetnx key value [key1 value1...] 批量当不存在key时设置
14. strlen name  // strlen key 获取key的字符串值的长度
15. incr age  // incr key 将key中的数字值+1
16. incrby age 7  // incrby key increment 将key中的数字值+increment
17. decr age
18. decrby age 7
19. append name wei  // append key value 如果key存在且是字符串,将value最佳到key的值末尾,返回key的字符串值的长度
20. del age  // del key 删除单个key
21. redis-cli keys "*" | xargs redis-cli del  // 删除多个key
22. flushdb  // 删除当前数据库中的所有Key
23. flushall  // 删除所有数据库中的key

哈希类型:

1. hset person family-name zhao2. hget people family-name3. hmset people family-name zhao first-name wei  //  hmset key field value [field value ...] 每个哈希可以存储多达2^32 - 1个健-值对4. 127.0.0.1:6379> hmset people family-name zhao first-name weiOK127.0.0.1:6379> hget people family-name"zhao"127.0.0.1:6379> hgetall people1) "family-name"2) "zhao"3) "first-name"4) "wei"5. hmget people family-name first-name  // hmget key field1 [field2 ...] 获取key中多个字段的值6. hgetall people  // hgetall key 获取key中所有字段和值7. hdel people family-name  // hdel key field1 [field2 ...] 删除多个哈希字段8. hexists people family-name  // hexists key field 查看key中field字段是否存在9. hincrby people age 12  // hincrby key field increment 为key中field的整数值加上增量increment10. hkeys people  // hkeys key 获取哈希key中所有的字段11. hvals people  // hvals key 获取哈希key中所有的值12. hlen people  // hlen key 获取哈希key中字段数量13. hsetnx people age 18 // hsetnx key field value 在哈希key中,当field不存在时设置field值

列表类型:

1. lpush friend qian yun yin  // lpush key value [value ...] 向列表头部添加多个元素2. lpop friend  // 弹出列表左边的一个元素3. rpush friend qian yun yin4. rpop friend5. lpushx friend2 qian  // 为已存在的列表添加元素,不存在则不添加6. rpushx friend2 yun7. llen friend  // 查看friend列表的长度8. lindex friend 1  // 根据索引从friend列表获取元素9. blpop friend 10  // blpop key [key ...] timeout 删除并获取列表中的第一个元素,或阻塞,直到有一个元素可用10. brpop friend 10  // brpop key [key ...] timeout 删除并获取列表中的最后一个元素,或阻塞,直到有一个元素可用11. linsert friend BEFORE yun yin  // linsert key BEFORE|AFTER pivot value 在一个元素之前|之后插入元素12. lrange friend 0 1  // lrange key start stop 从列表中获取索引0~1的元素13. lset friend 1 yin  // lset key index value  根据索引设置元素14. ltrim friend 0 1  // 让friend列表只保留区间内的元素

集合类型:

1. sadd address home school campany2. scard address  // 获取address的成员数量3. srem address school campany  // 删除address中的school和campany元素4. smembers address  // 返回address中所有元素5. spop address  // 随机返回一个元素6. srandmember address 2  // srandmember key [count]  随机返回集合中一个或多个元素7. smove address location home  // smove source destination member,将一个集合中的指定元素移到另一个集合中8. sismember address shanghai  // sismember key member,判断member是否集合key中的元素9. sunion address location  // sunion key [key...]  返回所有给定集合的并集10. sunionstore location address address1  // sunionstore destination key [key...]  返回所有给定集合的并集并存储在destination中11. sinter address location  // sinter key [key...] 返回所有给定集合的交集12. sinterstore location address address1  // sinterstore destination key [key...] 返回所有给定集合的交集并存储在destination中13. sdiff address location  // sdiff key [key...] 返回所有给定集合的差集14. sdiffstore location address address1  // sdiffstore destination key [key...] 返回所有给定集合的差集并存储在destination中

有序集合类型:

1. zadd locations 1 home 2 school  // zadd key [NX|XX] [CH] [INCR] score member [score member ...] 添加home和school到有序集合locations中。分数越小的排在越前面,-inf和+inf分别表示负无穷和正无穷。2. zcard locations  // 获取有序集合locations的成员数量。3. zcount locations 0 30  // zcount key min max,获得locations中在指定分数区间的成员数量,min和max都是inclusive。4. zincrby locations 2 home  // zincrby key increment member,对有序集合中指定成员的分数增加increment。5. zscore locations home  // zscore key member,获取locations中home的分数。6. zrange locations 0 2 withscores  // zrange key start stop [WITHSCORES],通过索引获取locations中的元素,withscores表示输出时元素带上分数。7. zrangebyscore locations 1 2 withscores limit 2 2  // zrangebyscore key min max [WITHSCORES] [LIMIT offset count],输出指定分数区间内的元素。8. zrem locations home school  // zrem key member [member ...],删除locations中的元素。9. zremrangebyscore locations 1 2  // zremrangebyscore key min max,删除指定分数区间内的元素,返回删除的元素数量。10. zrank locations home  // zrank key member,获取元素的排名(分数从小到大排序,排名从0开始)。11. zrevrank locations home  // zrevrank key member,获取元素的逆序排名(分数从大到小排序)。