网站优化 月付费,关键词优化最好的方法,wordpress魔客模板,常州公司做网站的流程Nosql#xff1a; NoSQL#xff1a;即 Not-Only SQL#xff08; 泛指非关系型的数据库#xff09;#xff0c;作为关系型数据库的补充。 作用#xff1a; 应对基于海量用户和海量数据前提下的数据处理问题。 特征#xff1a; 可扩容#xff0c;可伸缩大数据量下高性能…Nosql NoSQL即 Not-Only SQL 泛指非关系型的数据库作为关系型数据库的补充。 作用 应对基于海量用户和海量数据前提下的数据处理问题。 特征 可扩容可伸缩大数据量下高性能灵活的数据模型、高可用 常见 Nosql 数据库 目前市面上常见的Nosql产品Redis、memcache、HBase、MongoDB Nosql出现的原因
举例 春节期间买票进不去进去了刷不着票。什么原因呢人太多了 用户比较多海量用用户高并发 这两个现象出现以后对应的就会造成我们的服务器瘫痪。核心本质是什么呢其实并不是我们的应用服务器而是我们的关系型数据库。关系型数据库才是最终的罪魁祸首 造成原因
性能瓶颈磁盘IO性能低下 关系型数据库菜存取数据的时候和读取数据的时候他要走磁盘IO。磁盘这个性能本身是比较低的。 扩展瓶颈数据关系复杂扩展性差不便于大规模集群 关系型数据库它里面表与表之间的关系非常复杂就是一张表通过它的外键关联了七八张表这七八张表又通过它的外键每张又关联了四五张表。你想想查询一下你要想拿到数据你就要从A到B、B到C、C到D的一直这么关联下去最终非常影响查询的效率。同时你想扩展下也很难! 解决思路
降低磁盘IO次数越低越好。去除数据间关系越简单越好。 降低磁盘IO次数越低越好怎么搞我不用你磁盘不就行了吗于是内存存储的思想就提出来了我数据不放到你磁盘里边放内存里这样是不是效率就高了。 你的数据关系很复杂那怎么办呢干脆简单点我断开你的关系我不存关系了我只存数据这样不就没这事了吗 最后把这两个特征一合并一起就出来了一个新的概念NoSQL Redis Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对key-value数据库。 特征 数据间没有必然的关联关系内部采用单线程机制进行工作高性能。官方提供测试数据50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。多数据类型支持 字符串类型string列表类型list散列类型hash集合类型set有序集合类型zset/sorted_set 支持持久化可以进行数据灾难恢复 redis的应用场景 为热点数据加速查询主要场景。如热点商品、热点新闻、热点资讯、推广类等高访问量信息等。即时信息查询。如各位排行榜、各类网站访问统计、公交到站信息、在线人数信息聊天室、网站、设备信号等。时效性信息控制。如验证码控制、投票控制等。分布式数据共享。如分布式集群架构中的 session 分离消息队列 Redis下载与安装
安装
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c devtoolset-9-binutils
# 暂时换
scl enable devtoolset-9 bash
# 永久换
echo source /opt/rh/devtoolset-9/enable /etc/profile
# 如果执行过make可以清除以后再make
make distclean下载安装包
wget https://download.redis.io/releases/redis-6.0.10.tar.gz解压安装包
tar -zxvf redis-6.0.10.tar.gz安装 进入redis目录
cd redis-6.0.10编译
make编译如果出现#include jemalloc/jemalloc.h错误执行下面的代码没有的话就直接跳过这个命令
make MALLOClibc安装在解压的目录中执行
make install加快链 ,以后就可以直接cd redis了相当于快捷键了
ln -s redis-6.0.10 redis在redis/src下可以看到redis的指令
redis-server服务器启动命令 客户端启动命令
redis-cliredis核心配置文件
redis.confRDB文件检查工具快照持久化文件
redis-check-dumpAOF文件修复工具
redis-check-aofRedis服务器启动下载
启动服务器——参数启动
# 默认启动就是6379
redis-server# redis-server [--port port] 指定端口启动
redis-server --port 6379# 也可以启动多个
redis-server --port 6380
# 查看启动的服务
ps -ef | grep redis-启动服务器——配置文件启动
# 格式redis-server config_file_name
redis-server redis/conf/redis-6379.confRedis客户端启动
启动客户端
# 格式redis-cli [-h host] [-p port]# 启动默认端口
redis-cli# 启动指定端口
redis-cli -p 6379# 或者 redis-cli [-h host] [-p port] 这种是配置文件的那种
redis-cli –h 61.129.65.248 –p 6379注意服务器启动指定端口使用的是–port客户端启动指定端口使用的是-p。-的数量不同。
Redis基础环境设置约定
创建配置文件存储目录
mkdir conf创建服务器文件存储目录包含日志、数据、临时配置文件等
mkdir data配置文件启动与常用配置_服务器端
拷贝文件到 conf
cp redis.conf ./conf/创建文件redis-6379.conf并添加配置
# 绑定主机地址
bind 这里写ip地址# 设置服务端口号
port 6379# 设置服务器以守护进程的方式运行开启后服务器控制台中将打印服务器运行信息同日志内容相同
daemonize no
# 日志文件
logfile log-6379.log# 设置服务器文件保存地址
dir /redis/data redis.conf文件解释
服务器允许客户端连接最大数量默认0表示无限制。当客户端连接到达上限后Redis会拒绝新的连接
maxclients count客户端闲置等待最大时长达到最大值后关闭对应连接。如需关闭该功能设置为 0
timeout seconds日志配置
设置服务器以指定日志记录级别
# 日志级别开发期设置为verbose即可生产环境中配置为notice简化日志输出量降低写日志IO的频度
loglevel debug|verbose|notice|warning日志记录文件名
logfile filename注意日志级别开发期设置为verbose即可生产环境中配置为notice简化日志输出量降低写日志IO的频度。
Redis基本指令 这是在客户端操作的哦这是我的启动以后的效果可以看一下不要搞错了 [rootVM-0-9-centos ~]# redis-cli
127.0.0.1:6379 set name itzhuzhu
OK
127.0.0.1:6379 get name
itzhuzhu
127.0.0.1:6379 设置 keyvalue 数据
# set key value
set name itzhuzhu根据 key 查询对应的 value如果不存在返回空nil
# get key
get name获取命令帮助文档
# help [command]
help set获取组中所有命令信息名称
# help [group-name]
help string退出客户端
quit
exit快捷键
CtrlC