avatar

正进一步

只有喜欢,才会全情投入,才会成功!!!

不关注架构设计细节的程序员不是一个好架构师

  • Home
  • Tags
  • Categories
  • Archives
  • 2018寄语
Redis_String讲解

引用: https://mp.weixin.qq.com/s/65jTyTK7Pj5Yc4ddPZBHEg

redis 特点

  1. 所有数据存储在内存中,高速读写
  2. 提供丰富多样的数据类型:string、 hash、 set、 sorted set、bitmap、hyperloglog
  3. 提供了 AOF 和 RDB 两种数据的持久化保存方式,保证了 Redis 重启后数据不丢失
  4. Redis 的所有操作都是原子性的,还支持对几个操作合并后的原子性操作,支持事务

string 类型是 Redis 中最基本的数据类型,最常用的数据类型,甚至被很多玩家当成 redis 唯一的数据类型去使用。string 类型在 redis 中是二进制安全 (binary safe) 的, 这意味着 string 值关心二进制的字符串,不关心具体格式,你可以用它存储 json 格式或 JPEG 图片格式的字符串

Redis_Hash讲解

引用: https://mp.weixin.qq.com/s/65jTyTK7Pj5Yc4ddPZBHEg

1
2
3
4
5
6
7
8
9
10
11
12
13
//同时设置多个字段值
hmset user:2 name beijing email struggle@126.com
//得到所有的值
HGETALL runoobkey
//删除key中的字段
HDEL key field
//为哈希表 key 中的指定字段的整数值加上增量 increment 。
HINCRBY key field increment

HMGET key field1 [field2]
获取所有给定字段的值
HMSET key field1 value1 [field2 value2 ]
同时将多个 field-value (域-值)对设置到哈希表 key 中。
Redis_List讲解

引用自:https://mp.weixin.qq.com/s/65jTyTK7Pj5Yc4ddPZBHEg

list 是按照插入顺序排序的字符串链表,可以在头部和尾部插入新的元素(双向链表实现,两端添加元素的时间复杂度为 O(1))。插入元素时,如果 key 不存在,redis 会为该 key 创建一个新的链表,如果链表中所有的元素都被移除,该 key 也会从 redis 中移除。

常见操作时用 lpush 命令在 list 头部插入元素, 用 rpop 命令在 list 尾取出数据。
blpush;lrpop; 分别都是阻塞版本,可以设置超时时间.
如果有多个客户端同时因为某个列表而被阻塞,那么当有新值被推入到这个列表时,服务器就会按照先到先服务原则,优先向最早被阻塞的客户端返回新值。

Redis_Set讲解

引用自:https://mp.weixin.qq.com/s/65jTyTK7Pj5Yc4ddPZBHEg

set 数据类型是一个集合(没有排序,不重复),可以对 set 类型的数据进行添加、删除、判断是否存在等操作(时间复杂度是 O(1) )

set 集合不允许数据重复,如果添加的数据在 set 中已经存在,将只保留一份。

set 类型提供了多个 set 之间的聚合运算,如求交集、并集、补集,这些操作在 redis 内部完成,效率很高。
共同好友;共同文章