
Redis
文章平均质量分 64
Torres Ye
联系方式:540787086@QQ.COM
展开
-
Docker的基本使用
基本的Docker命令Docker镜像Docker Pull从镜像仓库获取镜像,默认为最新的镜像 docker pull ubuntuUsing default tag: latestlatest: Pulling from library/ubuntu5d3b2c2d21bb: Pull complete 3fc2062ea667: Pull complete 75adf526d75b: Pull complete Digest: sha256:b4f9e18267eb98998原创 2021-03-12 11:21:28 · 228 阅读 · 1 评论 -
Celery-分布式任务框架
简介Celery作为一款出色的分布式任务框架,上手简单,效率高,尤其在处理需要异步处理的耗时操作时非常适用原理当你在A程序中,需要处理一个比较耗时但是又不是需要立即返回结果的任务、或者是当单机处理效率过低需要横向拓展的时候,选择Celery绝对没问题。A把任务task扔到Broker中,然后就继续干自己的事情去了,剩下的交给其他的 Worker去做,Worker监听队列,有任务就去消费,嗯,原理就是这么简单,就是生产者消费者模型。开始Celery之旅吧Broker通常使用RabbitMQ和Re原创 2021-03-04 11:21:08 · 352 阅读 · 1 评论 -
Redis-持久化
Redis持久化Redis的数据全部在内存里,假如遇到宕机的情况,数据就会全部丢失,所以采用一种持久化的方式将数据写入到磁盘中。Redis的持久化共有两种,第一种是快照的方式,第二种是AOF日志。两者的区别是,快照是全量存储,AOF是连续的增量备份,快照是内存数据的二进制序列化形式,AOF是内存数据的修改逻辑指令文件原理Redis为单线程程序,这个线程需要负责客户端的数据查询等操作,如果在一个线程中,既要完成数据存取、又要完成io操作,会严重拖垮服务器的性能,如果变读写边持久化,可能会出现数据冲突原创 2021-02-23 11:02:36 · 125 阅读 · 0 评论 -
Redis之延时队列
Redis实现队列Redis通过自带的数据结构list实现队列。使用rpush和lpush进行入队操作,rpop和lpop进行出队列操作,不过要注意的是,redis实现的队列并没有ack确认机制,所以在数据的安全与稳定性上有个劣势。127.0.0.1:6379> rpush queue a b c(integer) 3127.0.0.1:6379> rpush queue d(integer) 4127.0.0.1:6379> llen queue(integer) 41原创 2021-02-09 15:18:57 · 746 阅读 · 0 评论 -
Redis基础之容器类数据结构的基本使用
Hash(字典)Redis的字典是无需字典,内部存储了键值对,结构大体上是数组+链表。Redis的字典的值只能存字符串,在字典rehash的时候采用的是渐进式rehash,就是说在rehash的时候,旧的hash结构先不删除,先生成新的,在后续的定时任务以及hash查询的操作的时候,再将旧的删掉,当hash移除了最后的一个元素的时候,该数据结构被自动删除。基本使用HSET将哈希表 key 中的域 field 的值设为 value 。如果不存在,新建HSETNX将哈希表 key 中的域 field原创 2021-02-08 15:50:21 · 165 阅读 · 0 评论 -
Redis之列表的基本使用
List(列表)Redis的列表是双向链表的一种,所以他的插入和删除的速度非常快,时间复杂度为O(1),但是索引的时间很慢,为O(N)。双向链表支持双向遍历,当列表的最后一个元素被删除之后,该数据结构被自动删除,内存被回收。Redis的List可以当做双端队列来使用。基本操作LPUSH/RPUSH从左边、右边插入数据LPUSHX/RPUSHX从左边、右边插入数据当数据不存在时,什么也不做LPOP/RPOP从左边右边弹出数据RPOPLPUSH在一个原子操作内,将Alist的最右侧弹出并返原创 2021-02-08 14:26:00 · 163 阅读 · 0 评论 -
Redis之字符串的基本使用
字符串(String)字符串是redis中最简单的结构,内部表示为一个字符数组。Redis所有的数据结构都以唯一的Key字符串座位名称,然后通过这个Key取相应的Value值,不同的数据结构差异就在于Value的不一样。Redis的字符串是动态字符串,是可以修改的字符串,内部的结构采用预分配冗余空间的方式来减小频繁的分配,如当前的字符串分配内存空间要大于实际的字符串长度,当字符串小于1MB时,扩容是加倍现有的空间,当大于1MB时,每次扩容会多扩容1MB的空间。字符串最大的空间为512MB.基本操作S原创 2021-02-07 16:03:50 · 151 阅读 · 1 评论