Redis详解2.数据结构

一年又一年,字节跳动 Lark(飞书) 研发团队又双叒叕开始招新生啦!
【内推码】:GTPUVBA
【内推链接】:https://job.toutiao.com/s/JRupWVj
【招生对象】:20年9月后~21年8月前 毕业的同学
【报名时间】:6.16-7.16(提前批简历投递只有一个月抓住机会哦!)
【画重点】:提前批和正式秋招不矛盾!面试成功,提前锁定Offer;若有失利,额外获得一次面试机会,正式秋招开启后还可再次投递。

章节目录

Redis详解1.安装及使用
Redis详解2.数据结构
Redis详解3.发布订阅
Redis详解4.事务
Redis详解5.数据持久化
Redis详解6.主从模式
Redis详解7.哨兵模式
Redis详解8.Cluster模式

1 键Key

  1. DEL key [key ...]:删除给定的一个或多个key。不存在的 key 会被忽略。
  2. EXISTS key:检查给定key是否存在。
  3. EXPIRE key seconds:为给定key设置生存时间,当key过期时它会被自动删除。
  4. EXPIREAT key timestamp:作用和EXPIRE类似,都用于为key设置生存时间。不同的是该命令接受的时间参数是 UNIX 时间戳。
  5. DUMP key:序列化给定key,并返回被序列化的值,使用RESTORE命令可以将这个值反序列化为Redis 键。
  6. KEYS pattern:查找所有符合给定模式pattern的key。
  7. MIGRATE host port key destination-db timeout [COPY] [REPLACE]:将key原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功,key保证会出现在目标实例上,而当前实例上的key会被删除。
  8. MOVE key db:将当前数据库的key移动到给定的数据库db当中。如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定key,或者key不存在于当前数据库,那么MOVE没有任何效果。
  9. OBJECT subcommand [arguments [arguments]]:命令允许从内部察看给定key的Redis对象。
  10. PERSIST key:移除给定key的生存时间,将这个key转换成不会过期的key。
  11. PEXPIRE key milliseconds:这个命令和EXPIRE命令的作用类似,但是它以毫秒为单位设置的生存时间。
  12. PEXPIREAT key milliseconds-timestamp:这个命令和EXPIREAT命令类似,但它以毫秒为单位设置key的过期unix时间戳。
  13. PTTL key:这个命令类似于TTL命令,但它以毫秒为单位返回key的剩余生存时间。
  14. RANDOMKEY:从当前数据库中随机返回(不删除)一个key。
  15. RENAME key newkey:将key改名为newkey。当key和newkey相同,或者key不存在时,返回一个错误。
  16. RENAMENX key newkey:当且仅当newkey不存在时,将key改名为newkey。
  17. RESTORE key ttl serialized-value:反序列化给定的序列化值,并将它和给定的key关联。
  18. SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]:返回或保存给定列表、集合、有序集合key中经过排序的元素。
  19. TTL key:以秒为单位,返回给定key的剩余生存时间。
  20. TYPE key:返回key所储存的值的类型。
  21. SCAN cursor [MATCH pattern] [COUNT count]:SCAN命令及其相关的SSCAN、HSCAN、ZSCAN命令都用于增量地迭代元素。

2 字符串String

  1. Redis字符串可以存储字符串、整数、浮点数
  2. Redis整数或者浮点数支持自增或自减操作
  3. 通过APPEND将value追加到key原来的值的末尾
  4. 通过SETRANGE用value参数覆写给定key所储存的字符串值,从偏移量 offset 开始。
  5. 通过GETBIT、SETBIT、BITTOP、BITCOUNT可以把key当作一个二进制位串

3 列表List

  1. Redis的List是一个双端队列,可以从两端推入或者弹出元素
  2. LLEN返回列表长度
  3. LPUSH、LPOP、RPUSH、RPOP分别从列表左端或者右端推入、弹出元素;BRPOP、BLPOP代表阻塞的POP
  4. RPOPLPUSH、BROPLPUSH将列表source中的最后一个元素弹出,并返回给客户端,然后将source弹出的元素插入到列表destination,作为 destination列表的的头元素。
  5. LINDEX、LRANGE从列表中获取元素
  6. LSET设置指定下标的值
  7. LINSERT在第一个值之后插入新值
  8. LREM移除一定的值
  9. LTRIM对一个列表进行修剪,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

4 集合Set

  1. SADD添加元素并返回添加的数量
  2. SREM移除元素并返回移除的数量
  3. SISMEMBER检查元素是否存在于集合中
  4. SCARD返回元素数量
  5. SMEMBERS 返回集合包含的所有元素
  6. SRANDMEMBERS随意返回一个或多个元素
  7. SPOP随意移除并返回一个或多个元素
  8. SMOVE将member元素从source集合移动到destination集合
  9. SINTER返回多个集合的交集;SUNION返回多个集合的并集
  10. SINTERSTORE和SUNIONSTORE返回结果的同时还是把结果存储到destination集合
  11. SSCAN用于遍历集合

5 散列Hash

  1. HGET、HMGET获取元素
  2. HSET、HMSET添加元素
  3. HDEL删除元素
  4. HEXISTS判断元素是否存在
  5. HKEYS返回KeySet;HGETALL返回EntrySET
  6. HLEN返回哈希表长度
  7. HINCRBY、HINCRBYFLOAT为哈希表中域field加上增量 increment

6 有序集合

  1. 有序集合的部分操作和集合相似,如ZADD、ZCARD、ZSCAN、ZREM
  2. ZSCORE返回有序集key中,成员member的score值。
  3. ZRANGE、ZREVRANGE返回有序集key中,指定区间内的成员,分别按照score从小到大和从大到小排列
  4. ZRANGEBYSCORE、ZREVRANGEBYSCORE返回有序集key中,score值介于max和min之间(包括等于max或min)的所有的成员。有序集成员按 score 值递增或递减的次序排列。
  5. ZRANK、ZREVRANK返回有序集key中成员member的排名。其中有序集成员按score值递增或递减排序。
  6. ZREMRANGEBYRANK移除有序集key中,指定排名(rank)区间内的所有成员。
  7. ZREMRANGEBYSCORE移除有序集key中,所有score值介于min和max之间(包括等于 min或max)的成员。
  8. ZINCRBY为有序集key的成员member的score值加上增量 increment。
  9. ZUNIONSTORE、ZINTERSTORE多个集合的并集或交集

7 附录

Redis命令参考
Redis中文网

你可能感兴趣的:(Redis详解2.数据结构)