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

如何利用网站做产品推广易尔通网站建设

如何利用网站做产品推广,易尔通网站建设,网络营销服务企业有哪些,国产crm目录 一、NoSQL非关系型数据库 1.NoSQL概述 2.关系型数据库和非关系型数据库区别 (1)数据存储方式不同 (2)扩展方式不同 (3)对事务性的支持不同 3.非关系型数据库使用场景 二、Redis概述 1.简介 2…

目录

一、NoSQL非关系型数据库

1.NoSQL概述

2.关系型数据库和非关系型数据库区别

(1)数据存储方式不同

(2)扩展方式不同

(3)对事务性的支持不同

3.非关系型数据库使用场景

二、Redis概述

1.简介

2.优点

3.Redis读写快的原因

4.适用场景

三、Redis安装配置

四、Redis的使用

1.命令行工具redis-cli(登录)

2.测试工具redis-benchmark(测试)

3.redis命令的使用

4.Redis多库常用命令

五、Redis性能管理

1.查看内存使用

2.清理内存碎片

(1)内存碎片如何产生

(2)内存碎片率

(3)清理内存碎片

3.内存使用率

4.内回收key


一、NoSQL非关系型数据库

1.NoSQL概述

        NoSQL (Not Only SQL),是非关系型数据库的总称。除了主流的关系型数据库外的数据库,都认为是非关系型。

        不需要预先建库建表定义数据存储表结构,每条记录可以有不同的数据类型和字段个数(比如微信群聊里的文字、图片、视频、音乐等)。

        主流的 NoSQL数据库有 Redis、MongBD、Hbase、Memcached、ElasticSearch、TSD等。

2.关系型数据库和非关系型数据库区别

(1)数据存储方式不同

关系型和非关系型数据库的主要差异是数据存储的方式。

        SQL数据库天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。

        NoSQL型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。

(2)扩展方式不同

关系型和非关系型数据库最大的差别是在扩展方式上,要支持日益增长的需求当然要扩展。

        SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,这都需要通过提高计算机性能来克服。虽然sql数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。

        NoSQL数据库是横向扩展的。因为非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器:节点)来分担负载。

(3)对事务性的支持不同

如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。

        SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务。

        虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较。所以它们真正闪亮的价值是在操作的扩展性和大数据量处理方面。

3.非关系型数据库使用场景

可用于应对web2.0纯动态网站类型的三高问题(高并发、高性能、高可用)。

  • High performance——对数据库高并发读写需求;
  • Huge Storage——对海量数据高效存储与访问需求;
  • High Scalability and High Availability——对数据库高可扩展性与高可用性需求。

        关系型数据库和非关系型数据库都有各自的特点与应用场景,两者的紧密结合将会给web2.0的数据库发展带来新的思路:

        关系型数据库关注在关系对数据的一致性保障上;

        非关系型数据库关注在存储高效率上。

        例如:在读写分离的Mysql数据库环境中,可以把经常访问的数据存储在非关系型数据库中,提升访问速度。

二、Redis概述

1.简介

        Redis(远程字典服务器)是一个开源的、使用c语言编写的 NoSQL数据库。

        Redis基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。

        Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠主进程的执行效率。

2.优点

具有极高的数据读写速度:数据读取的速度最高可达到110000 次/s,数据写入速度最高可达到 81000 次/s。

支持丰富的数据类型:支持 key-value、Strings、Lists、Hashes、Sets 及 Sorted Sets等数据类型操作。

支持数据的持久化:可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

原子性:Redis 所有操作都是原子性的。

支持数据备份:即支持 master-salve 模式的数据备份。

3.Redis读写快的原因

        Redis基于内存运行,避免了磁盘I/O等耗时操作。

        Redis命令处理的核心模块为单线程,减少了锁竞争,以及频繁创建线程和销毁线程的代价,减少了线程上下文切换的消耗。

注:在Redis 6.0 中新增加的多线程也只是针对处理网络请求过程采用了多线性,而数据的读写命令,仍然是单线程处理的。

        采用了I/O多路复用机制,减少网络I/O消耗,大大提升了并发效率。

4.适用场景

        Redis作为基于内存运行的数据库,是一个高性能的缓存,一般应用在session缓存、队列
、排行榜、计数器、最近最热文章、最近最热评论、发布订阅等。

        Redis 适用于数据实时性要求高、数据存储有过期和淘汰特征的、不需要持久化或者只需
要保证弱一致性、逻辑简单的场景。

三、Redis安装配置

#将安装包放在/opt下
cd /opt
tar xf redis-5.0.7.tar.gz
cd redis-5.0.7/#编译
make#安装到指定目录
make install PREFIX=/usr/local/redis

还需要到安装包中的utils/下,执行install_server.sh

再在配置文件/etc/redis/6379.conf中修改监听地址 

四、Redis的使用

工具作用
redis-server用于启动redis的工具
redis-benchmark用于检测redis在本机的运行效率
redis-check-aof修复AOF持久化文件
redis-check-rdb修复RDB持久化文件
redis-cliredis命令行工具

1.命令行工具redis-cli(登录)

2.测试工具redis-benchmark(测试)

redis-benchmark [选项] [选项值]
                                -h        指定服务器主机名
                                -p        指定服务器端口
                                -s        指定服务器 socket
                                -c        指定并发连接数
                                -n        指定请求数
                                -d        以字节的形式指定SET/GET值的数据大小
                                -k        1代表keep alive保持连接 ;0代表reconnect重连
                                -r         SET、GET、INCR 使用随机key ;SADD使用随机值
                                -P        通过管道传输<numreg>请求
                                -q         强制退出redis 仅显示query/sec值
                                --csv    以CSV格式(,分割字段的文本)输出
                                -l          生成循环,永久执行测试
                                -t          仅运行以逗号分隔的测试命令列表
                                -I          Idle模式(仅打开N个idle连接并等待)

#向IP地址为192.168.109.133、端口为6379的Redis服务器发送100个并发连接与100000个请求测试性能
redis-benchmark -h 192.168.116.10 -p 6379 -c 100 -n 100000

#测试存取大小为100字节的数据包的性能
redis-benchmark -h 192.168.116.10 -p 6379 -q -d 100

#测试本机上Redis服务在进行set与lpush操作时的性能
redis-benchmark -t set,lpush -n 100000 -q

3.redis命令的使用

(1)存入键值对

SET 键 值

(2)获取键的值

GET 键

(3)判断键的数据类型(redis默认数据类型为string)

TYPE 键

Redis中的五大数据类型

名称类型
String字符串
List列表
Hash散列
Set无序集合
Sorted Set有序集合

(4)查看键

KEYS *                  查看所有键

KEYS 通配符        查看通配符匹配的指定键

(5)判断键是否存在

EXISTS 键

(6)删除键

DEL 键

(7)修改键名

RENAME 原键名 新键名     

若要更改的新键名已存在,则会覆盖此键名的值(建议改名前先exists一下)或使用:

RENAMENX 原键名 新键名        //修改前判断新键名是否存在,存在则返回0,不存在则返回1并执行修改

(8)统计键数量

DBSIZE

(9)设置密码

CONFIG SET REQUIREPASS 密码

AUTH 密码        登入后做验证

(10)查看当前密码

 CONFIG GET REQUIREPASS

 (11)删除密码

 CONFIG SET REQUIREPASS ''

4.Redis多库常用命令

        Redis 支持多数据库,Redis默认情况下包含16个数据库,数据库名称是用数字0-15来依次命名的(默认登入是0号数据库)。多数据库相互独立,互不干扰。

(1)切换数据库

 SELECT 库号

(2) 将数据移动到指定库

MOVE 键 库号

五、Redis性能管理

1.查看内存使用

info memory

mem fragmentation _ratio        #内存碎片率   = used memory_rss / used memoryused

memory _rss                            #是Redis向操作系统申请的内存。
used memory                           #是Redis中的数据占用的内存。
used memory peak                  # redis内存使用的峰值。

2.清理内存碎片

(1)内存碎片如何产生

        Redis内部有自己的内存管理器,为了提高内存使用的效率,来对内存的申请和释放进行管理。

        Redis中的值删除的时候,并没有把内存直接释放,交还给操作系统,而是交给了Redis内部有内存管理器。

        Redis中申请内存的时候,也是先看自己的内存管理器中是否有足够的内存可用。

        Redis的这种机制,提高了内存的使用率,但是会使Redis中有部分自己没在用,却不释放的内存,导致了内存碎片的发生。

(2)内存碎片率

跟踪内存碎片率对理解Redis实例的资源性能是非常重要的

  • 内存碎片率在1到1.5之间是正常的,这个值表示内存碎片率比较低,也说明Redis没有发生内存交换。
  • 内存碎片率超过1.5,说明Redis消耗了实际需要物理内存的150%,其中50%是内存碎片率。
  • 内存碎片率低于1的,说明Redis内存分配超出了物理内存,操作系统正在进行内存交换。需要增加可用物理内存或减少Redis内存占用。

(3)清理内存碎片

Redis版本4.0以下

        需要在 redis-cli工具上输入shutdown save 命令,让Redis数据库执行保存操作并关闭Redis服务,再重启服务器。Redis服务器重启后,Redis会将没用的内存归还给操作系统,碎片率会降下来。

Redis4.0版本以上

        执行 config set activedefrag yes,开启自动碎片清理;

        执行 memory purge,手动碎片清理。

3.内存使用率

        redis实例的内存使用率超过可用最大内存,操作系统将开始进行内存与swap空间交换,导致性能大大降低。

避免内存交换发生的方法

  • 针对缓存数据大小选择安装 Redis实例
  • 尽可能的使用Hash数据结构存储
  • 设置key的TTL生命周期(setex 键名 时间(s) 值)

4.内回收key

        内存清理策略,保证合理分配redis有限的内存资源。默认情况下回收策略是禁止删除,当达到设置的最大阀值时,需选择一种key的回收策略。

配置文件中修改maxmemory-policy属性值

volatile-lru使用LRU算法从已设置过期时间的数据集合中淘汰数据(移除最近最少使用的key,针对设置了TTL的key)
volatile-ttl从已设置过期时间的数据集合中挑选即将过期的数据淘汰(移除最近过期的key)
volatile-random从已设置过期时间的数据集合中随机挑选数据淘汰(在设置了TTL的key里随机移除)
allkeys-lru使用LRU算法从所有数据集合中淘汰数据(移除最少使用的key,针对所有的key)
allkeys-random从数据集合中任意选择数据淘汰(随机移除key)
noenviction禁止淘汰数据(不删除直到写满报错)

http://www.yayakq.cn/news/215126/

相关文章:

  • 建设网站虚拟主机是啥意思网站建设评审
  • 友链对网站seo有帮助吗深圳宝安区西乡街道
  • 常用网站有哪些管理信息系统有哪些
  • 公司网站开发文档wordpress get the id
  • 设计部联盟网站丰台网站建设联系方式
  • 正品手表网站宁德市中医院
  • 合肥滨湖建设指挥部网站百度权重9的网站
  • 做策划的都上哪些网站搜索资料间网站建设代码走查
  • 但是网站相关内容和程序并没有建设完_其次网站公司给我公司的重生做网站的小说
  • 如何用vs2012做网站网站备案是指什么
  • 创新的天津网站建设制作微信公众号的步骤
  • dedecms中英文网站新网和中企动力什么关系
  • 在线网站建设建议360建筑网怎么重新注册
  • 炫酷文字制作网站wordpress数据库
  • 人网站设计与制作湖南房产网
  • 知乎 上海做网站的公司微商城开店
  • 网站文件目录单位内部网站建设调研
  • 响应式网站案列个人房产信息网上查询系统
  • 商城网站开发模板珠海网络公司有哪些
  • 企业建设网站作用蒲公英网站建设
  • 如何自己创建网站百度一下官方网址
  • 济南网站建设平台官网anaconda可以做网站吗
  • 礼品公司怎么做网站某企业网站建设方案2000字
  • 滕州市 网站建设公司国内扁平化网站
  • 阿里巴巴电子商务网站城市网站建设摘要论文
  • 北京网站建设开发专业公司wordpress主题logo大小
  • 做企业网站公司报价建设网站挣钱
  • 网站建设的准备工作新品发布会
  • 企业网站seo网址眼镜企业网站建设方案
  • 赣州网站制作培训建设局网站瓯龙建州府3号楼