NoSQL之Redis配置使用
大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述NoSQL之Redis配置使用相关的知识,希望能为你提供帮助。
一、关系数据库与非关系型数据库概述
1、关系型数据库
- ??一个结构化的数据库,创建在关系模型(二维表格模型)基础上?,?一般面向于记录。??
- ??SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言。??
- ??用于执行对关系型数据库中数据的检索和操作。??
- ??主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2 等。??
- ??NoSQL(NoSQL = Not Only SQL ),意思是“不仅仅是 SQL”,是非关系型数据库的总称。??
- ??除了主流的关系型数据库外的数据库,都?认为是非关系型?。??
- ??不需要预先建库建表定义数据存储表结构,每条记录可以有不同的数据类型和字段个数(文字,图片,视频,音乐等)??
- ??主流的 NoSQL 数据库有 Redis、MongBD、Hbase、Memcached 等。??
1.数据存储方式不同??关系型和非关系型数据库的?主要差异是数据存储的方式。???
- ??关系型数据天然就是?表格式??的???,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很???容易提取数据???。
- ??与其相反,非关系型数据不适合存储在数据表的行和列中,而是?大块组合??在一起???。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。??
- ??你的数据及其特性是选择数据存储和提取方式的首要影响因素。??
- ??要支持更多并发量,SQL数据库是?纵向扩展?,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。??
- ??因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,这都需要通过提高计算机性能来客服。虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。??
- ??而NoSQL数据库是?横向扩展的?。因为非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。??
- ??如果数据操作需要?高事务性或者复杂数据查询?需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。?SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务???。??
- ??虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较,所以它们真正闪亮的价值是在?操作的扩展性和大数据量处理方面?。??
??可用于应对 Web2.0 纯动态网站类型的三高问题。??
- ??High performance——对数据库高并发读写需求??
- ??Huge Storage——对海量数据高效存储与访问需求??
- ??High Scalability & & High Availability——对数据库高可扩展性与高可用性需求??
???关系型数据库和非关系型数据库都有各自的特点与应用场景,两者的紧密结合将会给Web2.0的数据库发展带来新的思路。???5、总结
???让关系数据库关注在关系上,非关系型数据库关注在存储上。???
???例如,在读写分离的mysql数据库环境中,可以把经常访问的数据存储在非关系型数据库中,提升访问速度。???
??关系型数据库:实例–> 数据库–> 表(table)–> 记录行(row)、数据字段(column)??
??非关系型数据库:实例–> 数据库–> 集合(collection)–> 键值对(key-value)??
??非关系型数据库不需要手动建数据库和集合(表)。??
二、Redis
???Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI ???C语言???编写、支持网络、可基于内存亦可持久化的日志型、Key-Value???数据库???,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由???Pivotal???赞助。???
1、Redis简介
- ??Redis 是一个?开源的?、使用 ?C 语言编写?的 NoSQL 数据库。??
- ??Redis 基于?内存运行并支持持久化?,采用?key-value??(键值对)的存储形式???,是目前分布式架构中???不可或缺的一环。???
- ??Redis服务器程序是?单进程模型,????也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是?完全依靠于主进程的执行效率?。???
- ??若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的?下降?;??
- ??若在同一台服务器上开启多个Redis进程,Redis在提高并发处理能力的同时会给服务器的?CPU造成很大压力???
- ???所以在实际生产环境中,需要?根据实际的需求?来决定开启多少个Redis进程。???
- ??若对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程。??
- ??若 CPU 资源比较紧张,采用单进程即可。??
- ???具有极高的数据读写速度?:数据读取的速度最高可达到 110000 次/s,数据写入速度最高可达到 81000 次/s。??
- ???支持丰富的数据类型???:支持 key-value、Strings、Lists、Hashes、Sets 及 Ordered Sets 等数据类型操作。??
- ???支持数据的持久化?:可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。??
- ???原子性???:Redis 所有操作都是原子性的。??
- ???支持数据备份?:即 master-salve 模式的数据备份。??
???Redis作为基于内存运行的数据库,?缓存?是其最常应用的场景之一。除此之外,Redis常见应用场景还包括获取最新N个数据的操作、排行榜类应用、计数器应用、存储关系、实时分析系统、日志记录。???
4、Redis为什么这么快
- ??Redis是一款???纯内存结构???,避免了磁盘工/o等耗时操作。??
- ??Redis命令处理的核心模块为???单线程???,减少了锁竞争,以及频繁创建线程和销毁线程的代价,减少了线程上下文切换的消耗.??
- ??采用了???I/O多路复用机制???,大天提升了并发效率。??
5、Redis安装部署
1.编译安装redis
systemctl stop firewalld
setenforce 0
cd /opt/
yum install -y gcc gcc-c++ make
tar zxvf redis-5.0.7.tar.gz
cd /opt/redis-5.0.7/
make & & make PREFIX=/usr/local/redis install
2.执行软件包自带的install_server.sh脚本文件设置redid服务相关配置
cd /opt/redis-5.0.7/utils
./install_server.sh
……
慢慢回车
Please select the redis executable path []
手动输入/usr/local/redis/bin/redis-server
#要一次性输入正确,不然还要重新执行
Selected config:
Port: 6379#默认侦听端口为6379
Config file: /etc/redis/6379.conf#配置文件路径
Log file: /var/log/redis_6379.log#日志文件路径
Data dir: /var/lib/redis/6379#数据文件路径
Executable: /usr/local/redis/bin/redis-server#可执行文件路径
Cli Executable : /usr/local/bin/redis-cli#客户端命令工具
3.把redis的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/redis/bin/* /usr/local/bin/
#当install_server.sh 脚本运行完毕,Redis服务就已经启动,默认侦听端口为6379
netstat -natp | grep redis
#redis服务控制
/etc/init.d/redis_6379 stop#停止
/etc/init.d/redis_6379 start#启动
/etc/init.d/redis_6379 restart#重启
/etc/init.d/redis_6379 status#状态
4.修改配置 /etc/redis/6379.conf 参数
vim /etc/redis/6379.conf
#70行; 添加; 监听的主机地址
bind 127.0.0.1 192.168.163.10
#93行; Redis默认的监听端口
port 6379
#137行; 启用守护进程
daemonize yes
#159行; 指定 PID 文件
pidfile /var/run/redis_6379.pid
#167行; 日志级别
loglevel notice
#172行; 指定日志文件
logfile /var/log/redis_6379.log
/etc/init.d/redis_6379 restart
【NoSQL之Redis配置使用】
6、Redis 命令工具
redis-server推荐阅读
- 产品经理(你能不能用div给我画条龙())
- Office 365修改了密码,但Outlook desktop提示密码错误的解决办法
- 系统中打开ie浏览器无法运行怎样办?打开ie提示遇到问题需要关闭怎样办?
- Ghost XP系统禁用CTRL+ALT+方向键的屏幕旋转技巧!
- Win7/Win10怎样把XP系统装入到VHD虚拟硬盘?
- WZC XP系统怎样打开Windows零设置服务?
- WinXP系统玩“狙击手:幽灵战士2”黑屏怎样办?处理办法
- 让XP系统能识别VCD与SVCD光盘的办法
- XP系统纯净版无法打开CAD2012 提示"设置的Heidi驱动程序未加载"出错处理办法