这里写目录标题
- NoSQL
- Redis
NoSQL
NoSQL == Not Only SQL(不仅仅是关系型数据库) 出现原因: 随着web2.0互联网的诞生,传统的关系型数据库很难对付web2.0时代!尤其是超大规模的高并发的社区,暴露出来很多难以克服的问题,NoSQL在当今大数据环境下发展的十分迅速,Redis是发展最快的。
RDBMS 和 NoSQL的对比
代码语言:javascript复制RDBMS
结构化组织
SQL
数据和关系都存在单独的表中 row col
操作,数据定义语言
严格的一致性
基础的事务
代码语言:javascript复制NoSQL
不仅仅是数据
没有固定的查询语言
键值对存储,列存储,文档存储,图形数据库(社交关系)
最终一致性
CAP定理和BASE
高性能,高可用,高扩展
NoSQL四大分类
Redis
简介 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 Redis能干吗
- 内存存储、持久化,内存是断电即失的,所以需要持久化(RDB、AOF)
- 高效率、用于高速缓冲
- 发布订阅系统
- 地图信息分析
- 计时器、计数器(eg:浏览量)
Ubantu搭建Redis环境
代码语言:javascript复制$sudo apt-get update
$sudo apt-get install redis-server //安装redis
cp /etc/redis/redis.conf redisconf/ 把redis.conf文件拷贝到redisconf文件下,以后启动redis用此文件
redis.conf文件
代码语言:javascript复制4.3、基本配置文件
bind 0.0.0.0 #监听地址可以用空格隔开后多个监听IP
protected-mode yes #redis3.2之后加入的新特性在没有设置 bind IP和密码的时候只允许访问127.0.0.1 :6379
port 6379 监听端口
tcp-backlog 511 # 三次握手的 时候 server 端收到client ack确认号之后的队列值,默认不需要改。
timeout 0 #客户端和Redis服务端的连接超时时间,默认是0,表示永不超时。
tcp-keepalive 300 #tcp会话保持时间
daemonize yes #默认情况下redis不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成yes, 当redis作为守护进程运行的时候,它会写一个pid到/var/run/redis.pid文件里面,需要改为yes,进行后端运行。
supervised systemd #和操作系统相关参数可以设置通过upstart和systemd管理Redis守护进程centos7以后都使用systemd
pidfile /var/run/redis_6379.pid #pid文件路径
loglevel notice #日志级别,默认即可
启动redis
代码语言:javascript复制redis-server redis.conf //指定配置文件启动redis
连接
代码语言:javascript复制redis-cli -h需要连接的redis的地址 -p端口号 -a密码
(如果不传参数默认连的是本地的127.0.0.1:6379)
测试
关闭
代码语言:javascript复制shutdown
redis-benchmark性能测试
redis-benchmark:Redis官方提供的性能测试工具,参数选项如下:
代码语言:javascript复制# 测试:100个并发连接 100000请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168955.html原文链接:https://javaforall.cn