3 亥虫

尚未进行身份认证

我要认证

做人如果没有梦想,那跟咸鱼有什么差别

等级
TA的排名 1w+

Ubuntu 16.04 RabbitMq 安装与运行

准备工作Ubuntu Server 16.04.1 LTS 64位安装RabbitMq可以参照RabbitMq官网的安装教程(Installing on Debian and Ubuntu),来进行安装。这里我们使用apt-get来安装,就简单的几条命令:1.由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令:apt-get install erlang-nox # 安装erlangerl # 查看relang语言版本,成功执

2020-07-12 21:15:54

一篇搞懂消息队列的基本概念

一 什么是消息队列我们可以把消息队列比作是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。目前使用较多的消息队列有ActiveMQ,RabbitMQ,Kafka,RocketMQ,我们后面会一一对比这些消息队列。另外,我们知道队列 Queue 是一种先进先出的数据结构,所以消费消息时也是按照顺序来消费的。比如生产者发送消息1,2,3…对于消费者就会按照1,2,3…的顺序来消费。二

2020-07-12 09:08:48

Redis 入门指南九:Redis 有序集合(sorted set)

Redis 有序集合(sorted set)Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)其实不太准确。其实在redis sorted sets里面当items内容大于64的时候同时使用了hash和skiplist两种设计实现。这也会为了

2020-07-05 20:59:50

Redis 入门指南八:Redis 集合(Set)

Redis 集合(Set)Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。实例在以上实例中我们通过 SADD 命令向名为 student 的集合插入的三个元素。Redis 集合命令下表列出了 Redis 集合基本命令:命令描述SAD

2020-07-05 20:50:08

Redis 入门指南七:Redis 列表(List)

Redis 列表(List)Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。实例在以上实例中我们使用了 LPUSH 将三个值插入了名为 student 的列表当中。Redis 列表命令下表列出了列表相关的基本命令:命令描述BLPOP key1 [key2 ] timeout移出并获取列表的第一个元素, 如果列表没有

2020-07-05 20:05:11

Redis 入门指南六:Redis 哈希(Hash)

Redis 哈希(Hash)Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)。实例在以上实例中,我们设置了 redis 的一些描述信息(name, age, gender, phone) 到哈希表的 student 中。Redis hash 命令下表列出了 redis hash 基本的相关命令:命令描述HDEL key fi

2020-07-05 19:57:50

Redis 入门指南五:Redis 字符串(String)

Redis 字符串(String)Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:语法redis 127.0.0.1:6379> COMMAND KEY_NAME实例在以上实例中我们使用了 SET 和 GET 命令,键为 name。Redis 字符串命令下表列出了常用的 redis 字符串命令:命令描述SET key value设置指定 key 的值GET key获取指定 key 的值。GETRANGE key

2020-07-05 19:07:37

Redis 入门指南五:Redis 键(key)

Redis 字符串(String)Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:语法redis 127.0.0.1:6379> COMMAND KEY_NAME实例在以上实例中我们使用了 SET 和 GET 命令,键为 name。Redis 字符串命令下表列出了常用的 redis 字符串命令:命令描述SET key value设置指定 key 的值GET key获取指定 key 的值GETRANGE key s

2020-07-05 18:41:03

Redis 入门指南五:Redis 键(key)

Redis 键(key)Redis 键命令用于管理 redis 的键。语法Redis 键命令的基本语法如下:redis 127.0.0.1:6379> COMMAND KEY_NAME实例在以上实例中 DEL 是一个命令, name 是一个键。 如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0Redis keys 命令下表给出了与 Redis 键相关的基本命令:序号命令及描述1DEL key (该命令用于在 key

2020-07-05 17:23:26

Redis 入门指南四:Redis 命令

Redis 命令Redis 命令用于在 redis 服务上执行操作。要在 redis 服务上执行命令需要一个 redis 客户端Redis 客户端在我们之前下载的的 redis 的安装包中。语法Redis 客户端的基本语法为:$ redis-cli实例以下实例讲解了如何启动 redis 客户端:启动 redis 客户端,打开终端并输入命令 redis-cli。该命令会连接本地的 redis 服务。$redis-cliredis 127.0.0.1:6379>redis 127.

2020-07-05 17:02:20

Redis 入门指南三:数据类型

Redis 数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。String(字符串)string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。string 类型是 Redis 最基本的数据类型,str

2020-07-03 18:35:29

Redis 入门指南二:安装

Redis 安装Window 下安装下载地址:https://github.com/tporadowski/redis/releases。Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。打开文件夹,内容如下:打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行:redis-server.exe redis.windows.conf如

2020-07-03 17:01:17

Redis 入门指南一:简介

Redis 简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。Redis 优势性能极高 – Redis能

2020-07-03 16:54:19

数据结构与算法(Python版)六十:图的应用(词梯问题)

词梯Word Ladder问题由 “ 爱 丽 丝 漫 游 奇 境 ” 的 作 者 LewisCarroll在1878年所发明的单词游戏从一个单词演变到另一个单词, 其中的过程可以经过多个中间单词要求是相邻两个单词之间差异只能是1个字母,如FOOL变SAGE:FOOL >> POOL >> POLL >> POLE >> PALE>> SALE >> SAGE我们的目标是找到最短的单词变换序列采用图来解决这个问题的步骤如下:

2020-07-03 16:17:43

数据结构与算法(Python版)五十九:图抽象数据类型的Python实现

ADT Graph的实现:实例ADT Graph的实现:顶点Vertex类Vertex包含了顶点信息, 以及顶点连接边信息class Vertex: def __init__(self, key): self.id = key self.connectedTo = {} def addNeighbor(self, nbr, weight=0): # nbr是顶点对象的key self.connectedTo[nbr]

2020-07-03 15:01:13

数据结构与算法(Python版)五十八:图抽象数据类型

抽象数据类型: ADT Graph抽象数据类型ADT Graph定义如下:Graph():创建一个空的图;addVertex(vert):将顶点vert加入图中addEdge(fromVert, toVert):添加有向边addEdge(fromVert, toVert, weight):添加带权的有向边getVertex(vKey):查找名称为vKey的顶点getVertices():返回图中所有顶点列表in:按照vert in graph的语句形式,返回顶点是否存在图中True/Fal

2020-07-03 12:06:53

数据结构与算法(Python版)五十七:图的基本概念及相关术语

图Graph的概念图Graph是比树更为一般的结构, 也是由节点和边构成实际上树是一种具有特殊性质的图图可以用来表示现实世界中很多事物道路交通系统、航班线路、互联网连接、或者是大学中课程的先修次序 一旦我们对图相关问题进行了准确的描述就可以采用处理图的标准算法来解决那些看起来很艰深的问题对于人来说,人脑的识别模式能够轻而易举地判断地图中不同地点的相互关联;但如果用图来表示地图,就可以解决很多地图专家才能解决的问题,甚至远远超越;互联网是由成千上万的计算机所连接起来的复杂网络,也可

2020-07-03 11:50:47

数据结构与算法(Python版)五十六:树结构小结

本章总结本章介绍了“树”数据结构, 我们讨论了如下算法:用于表达式解析和求值的二叉树用于实现ADT Map的二叉查找树BST树改进了性能, 用于实现ADT Map的平衡二叉查找树AVL树实现了“最小堆”的完全二叉树: 二叉堆ADT Map的实现方法小结我们采用了多种数据结构和算法来实现ADT Map, 其时间复杂度数量级如下表所示:方法有序表散列表二叉查找树AVL树putO(n)O(1) -> O(n)O(log2n) -> O(n)O(log2

2020-07-03 11:03:57

数据结构与算法(Python版)五十五:AVL树的Python实现

AVL树的Python实现既然AVL平衡树确实能够改进BST树的性能, 避免退化情形我们来看看向AVL树插入一个新key, 如何才能保持AVL树的平衡性质首先, 作为BST, 新key必定以叶节点形式插入到AVL树中叶节点的平衡因子是0, 其本身无需重新平衡但会影响其父节点的平衡因子:作为左子节点插入,则父节点平衡因子会增加1;作为右子节点插入,则父节点平衡因子会减少1。这种影响可能随着其父节点到根节点的路径一直传递上去, 直到:传递到根节点为止;或者某个父节点平衡因子被调整到0,不再影

2020-07-02 12:32:21

数据结构与算法(Python版)五十四:AVL树的定义和性能

平衡二叉查找树: AVL树的定义我们来看看能够在key插入时一直保持平衡的二叉查找树: AVL树AVL是发明者的名字缩写: G.M. AdelsonVelskii and E.M. Landis利用AVL树实现ADT Map, 基本上与BST的实现相同不同之处仅在于二叉树的生成与维护过程AVL树的实现中, 需要对每个节点跟踪“平衡因子balance factor”参数平衡因子是根据节点的左右子树的高度来定义的, 确切地说, 是左右子树高度差:balanceFactor = height(lef

2020-07-02 11:14:37

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。