当前位置: 首页 > wzjs >正文

借贷网站建设方案杭州明开seo

借贷网站建设方案,杭州明开seo,wordpress图片二级域名,学校网站建设的意义和应用从这个系列开始,就要开始更新Redis的学习历程了,欢迎大家点赞阅读! 目录 1 什么是Redis 2 Redis特性 2.1 速度快 2.2 基于键值对的数据结构 2.3 持久化 2.4 批量执行 2.5 可扩展性 2.6 集群 2.7 高可用性 3 配置Redis 3.1 符号链…

        从这个系列开始,就要开始更新Redis的学习历程了,欢迎大家点赞阅读!

目录

1 什么是Redis

2 Redis特性

2.1 速度快

2.2 基于键值对的数据结构

2.3 持久化

2.4 批量执行

2.5 可扩展性

2.6 集群

2.7 高可用性

3 配置Redis

3.1 符号链接

3.2 Redis配置文件

4 启动Redis

5 停止Redis

6 进入redis客户端


1 什么是Redis

        Redis是一种基于键值对的NoSQL数据库,数据存储在内存中,可作为数据库、缓存、消息中间件(消息队列,削峰填谷)等许多功能的使用。

        由于存储在内存,因此Redis最大的特性就是“快”,基于谷歌给出的各层硬件执行速率:基于内存的是100ns,而基于磁盘的是10000000ns,可见Redis要比MySQL快近5个数量级。为什么需要Redis而不直接定义变量(因为变量也是存储在内存的)?Redis的初衷是作为消息中间件使用,消息中间件用于进程间通信。基于网络,在分布式系统中,由于进程的隔离性,多机间的进程就需要通信,而Redis可以把数据存储在内存中,让多机都可以访问自己内存的数据,因此Redis的应用场景是分布式系统

        然而Redis的缺点是存储容量小,因此常常把Redis和MySQL结合使用。“二八原则”,20%的热点数据能满足80%的访问需求。Redis作为缓存存储热点数据(满足经常访问的需求),而MySQL作为数据存储的主容器,存储全量数据(全部的数据)。就可以让系统同时满足高性能和大容量存储的特性,不过这也会引发Redis和MySQL的数据一致性问题,后续介绍。

2 Redis特性

2.1 速度快

        Redis的速度快(相对于MySQL之类的关系型数据库)主要有以下原因:

        (1)存储在内存中。

        (2)使用单线程。多线程并不一定可以提高速度,多线程的优势是CPU计算密集型任务,而Redis大多是对内存中的数据存取和修改,不会消耗很多CPU时间,此时频繁加锁解锁和线程间的阻塞唤醒就会成为速度的累赘。

        (3)Redis的底层实现简单,核心业务简单,都是简单的操作内存中的数据结构。

        (4)Redis在网络方面使用IO多路复用,一个线程管理多个socket。

        注意:什么是IO多路复用?客户端服务器结构下,一个服务器会对多个客户端同时服务。基于http协议,客户端访问服务器时,通常建立连接,即使用一个线程并分配一个socket来接收请求。如果有多个客户端同时访问就需要多个线程并分配多个socket来处理。但是同一时间并不是所有的socket都在工作,因此可以用一个线程管理多个socket,这就是IO多路复用。

        Linux提供了3套API来控制IO多路复用:select、poll和epoll。现在主要都使用epoll(运行效率最高),Java标准库中提供NIO库来使用epoll进行IO多路复用。epoll就是在IO多路复用机制上增加事件通知/回调机制,即一个事件到来时会通知线程进行执行(对应就是哪个socket中有新到的请求需要处理,在操作系统层面epoll就会通知该socket所属的线程来进行处理)。当然IO多路复用的前提是socket请求不频繁,否则一个线程就处理不过来。

        (5)Redis使用C语言编写,C语言更接近底层。(存疑,因为MySQL也是C语言开发的,并不是因为用什么语言导致快慢,而是做的事不同导致的快慢。MySQL主要做了更多复杂的操作,并且从硬盘中读取,因此更慢)

2.2 基于键值对的数据结构

        Redis主要基于键值对存储,对于键通常采用String类型,对于值有多种类型:S字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(ordered set/zet),同时在字符串的基础之上演变出了位图(Bitmaps)和HyperLogLog两种神奇的数据结构。

2.3 持久化

        将数据放在内存中是不安全的,一旦发生断电或者机器故障,重要的数据可能就会丢失,因此Redis提供了两种持久化方式:RDB和AOF,即可以用两种策略将内存的数据保存到硬盘中。

2.4 批量执行

        Redis既支持简单的交互命令来操作,又支持通过脚本语言(Lua)来批量执行命令。

2.5 可扩展性

        Redis提供一组API,可以通过C、C++和Rust等编程语言来编写动态链接库(比如Windows的dll文件、Linux的so文件)来扩展Redis的功能,比如支持更多数据结构和命令。

2.6 集群

        Redis支持集群,可以通过引入多个主机部署多个Redis节点来实现水平扩展。类似数据库的分库分表,每个节点各自存储部分数据,避免查询压力过大。

2.7 高可用性

        Redis支持备份/冗余,使用主从节点,从节点作为主节点的备份,一旦主节点崩溃,从节点将会代替主节点继续运行。

3 配置Redis

        安装Redis的过程这里省略(这里使用redis 5),通常是安装在Linux环境下,这里用到的系统是centOS 7。

3.1 符号链接

        由于安装目录很深,不便于Redis查找需要的命令和文件,因此配置符号链接。

        符号链接类似于快捷方式,该符号链接指向了真正的文件或可执行程序,因此通过该链接就可以方便地操作Redis。

        命令:in -s 原文件路径 链接名

        通常bin目录下存储的是可执行命令,etc目录下存储的是配置文件。

3.2 Redis配置文件

        配置bind的ip为0.0.0.0,表示Redis可以被其他主机访问到。

        protected-mode no表示不启动保护模式,允许其他主机连接。

        daemonize yes表示设置守护进程(后台进程)方式启动。这样即使终端关闭进程也不会杀死。

        dir /var/lib/redis表示Redis的工作目录为该目录,这时候Redis如果创建的数据文件都会存储在该目录下面(首先要确保使用mkdir -p创建了该目录)。

        logfile /var/log/redis/redis-server.log是配置Redis的日志目录。

4 启动Redis

        使用Redis安装目录下的src/redis-server命令搭配配置文件即可成功启动(../redis.conf表示redis.conf文件在当前目录的上一级目录下):

        cd /usr/local/redis-5.0.14/src./redis-server ../redis.conf

        如果配置了符号链接,使用符号链接名+配置文件的符合链接名也可以成功启动:

5 停止Redis

        查看Redis的pid:ps aux | grep redis

        杀死pid对应的进程:kill pid

6 进入redis客户端

        由于已经提前配置了进入redis客户端命令的符号链接,因此直接在bin目录下使用符号链接即可:

        其他主机连接redis客户端时,需要使用:redis-cli -h { host } -p { port },host是redis所在主机的ip,port是端口号(默认6379)。

        注意:Redis的特性最重要的是快,但是快一定是相对的。对比直接操作内存的数据结构,通过Redis来操作内存,实际上是要慢。因为Redis是客户端-服务器系统。我们访问的都是客户端,而客户端和服务器之间通过网络通信。因此使用Redis操作内存多了网络通信的开销,比直接操作内存更慢。

        对于可以引入Redis的场合,一定是因为Redis可以解决一些问题。比如作为数据库,Redis可以保证数据不会丢失,关机重启后内存数据会丢失,而Redis有持久化的特性,因此可以保证数据不会丢。作为缓存,Redis的访问速度被MySQL更快,因此存储热点数据更合适。

下篇文章:

http://www.dtcms.com/wzjs/435793.html

相关文章:

  • 沧州做网站google安卓手机下载
  • 赛事竞猜网站开发网站排名优化快速
  • 宁波网站建设电话咨询2023今日新闻头条
  • 独立网站做跨境电商可以行吗百度网页推广费用
  • 淘宝网官方网站电脑版郑州seo优化顾问热狗
  • 如何给网站做提升2021百度模拟点击工具
  • 一般做网站什么价格重庆seo团队
  • joomla网站迁移百度搜索推广操作简要流程
  • 松江做微网站台州seo优化
  • 湛江做网站服务热线怎样能在百度上搜索到自己的店铺
  • wordpress主题漏洞北京公司排名seo
  • 帮别人备案网站吗网络推广主要工作内容
  • 龙岩网站设计制作广告软文范例200字
  • 做网站怎么留接口黄页88网
  • 网站安全维护内容百度怎么做推广和宣传
  • 网站建设数据库实训体会百度云资源搜索入口
  • 兼职做调查哪个网站好线下引流的八种推广方式
  • 怎么免费制作企业网站可以进入任何网站的浏览器
  • 手机适配网站google搜索引擎入口下载
  • 使用ai做网站设计网络推广网站的方法
  • 基于个性化推荐的电商网站设计与实现plc培训机构哪家最好
  • 模板网站源码2021小学生新闻摘抄
  • 服装厂做1688网站效果好不好网店代运营靠谱吗
  • 大型网站建设部署方案韩国最新新闻
  • 石家庄市高新区建设局网站谷歌paypal官网
  • 用订制音乐网站做的音乐算原创吗人工智能培训班收费标准
  • 自己做的网站怎么传入外网如何让自己的网站快速被百度收录
  • 怎么做网站版面西地那非能提高硬度吗
  • php网站建设流程搜索引擎优化排名工具
  • 扫二维码进入个人的购物网站如何做广州谷歌seo公司