Redis 基础
Redis 是基于内存的,存储形式为 key-value 的非关系型数据库,它的 value 不仅包括基本的 string 类型,还有 list、set、sorted set 和 hash 类型。
Redis 其实也是一种缓存机制,缓存一般是针对查询方法的,但是也有写操作。当 Redis 启动时候,可以去 Mysql 中读数据,然后根据键把数据存放到 Redis 中。
当应用程序查找数据的时候,会先在 Redis 中查找,若找到了,则返回,若找不到redis安装部署linuxredis安装部署linux,则去 Mysql 中找,找到了则把数据返回,并把该数据放到 Redis 中。
当应用程序写数据的时候,会先在 Redis 中写数据,然后 Redis 主键自增,然后队列处理器会定时去将二者进行同步,若同步失败,则可以直接插入到数据库中,然后清除缓存。
集群与分布式的区别
分布式是实现不同业务,而集群是实现同一功能。
分布式的每个节点都可以是集群。
通过 Redis 可以实现分布式业务的调度,也可以实现集群服务器的数据缓存。
轻松搭建 Redis 服务器
(1)下载 Redis 的 linux 版本
(2)解压 Redis:tar zxvf redis.tar.gz
(3)进入 Redis 的解压目录:cd redis.tar.gz
(4)Make && make install:Make
(5)启动服务端:./redis-server redis.conf
(6)启动客户端:./redis-cli
(7)测试
(8)容易出现的问题
A、系统是 mini,所以导致很多命令,例如 make、vim 等常用命令,一般会报-bash:make:command not found。
解决办法是:yum -y install gcc automake autoconf libtool make。
B、如果 cc 问题,一般是没有 gcc 环境:
解决办法是:yum -y install gcc
Redis 分布式 Demo
Redis 分布式问题,主要是将大任务化为小任务,多个计算机分布式来完成自己的任务,从而实现高效率的工作方式。
该 Demo 是以爬虫(爬取淘宝网的商品信息为例)为例,而 Redis 在此过程中起的是调度作用。
该 Demo 主要分为 5 个模块(获取商品列表、获取商品链接、获取商品图片、获取商品标题和分类、获取商品详情等),每个模块部署在不同的服务器上,同时完成不同的爬取任务,以达到分布式运行,从而提高效率。
其架构图简易如下:
解决方案(伪代码):
说明:面向微服务开发,使用 disconf 统一配置管理,用 Maven 做项目管理工具。
(1)生产任务(produce-assign-server):
图 3
图 4
(2)云存储(spider-img-server):
(3)商品价格(spider-price-server):
(4)商品详情(spider-detail-server):
(5)商品标题和类型(spider-content-server):
(6)注意事项:
限时特惠:本站每日持续更新海量展厅资源,一年会员只需29.9元,全站资源免费下载
站长微信:zhanting688