NoSQL数据库的简单介绍以及redis持久化数据服务
本篇内容介绍了“NoSQL数据库的简单介绍以及redis持久化数据服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Nosql数据库介绍
是一种非关系型数据库服务,它能解决常规数据库的并发能力,比如传统的数据库的IO与性能的瓶颈,同样它是关系型数据库的一个补充,有着比较好的高效率与高性能。
专注于key-value查询的redis、memcached、ttserver
解决以下问题:
1)对数据库的高并发读写需求
2)大数据的高效存储和访问需求
3)高可扩展性和高可用性的需求
Nosql数据库的应用环境
1)数据模型比较简单
2)需要灵活性更强的IT系统
3)对数据库的性能要求较高
4)不需要高度数据一致性
5)对于给定KEY,比较容易映射复杂值的环境
Nosql软件的分类与特点
1)key-value键值存储数据库(redis、memcached)
用于内容缓存,适合负载并扩展大的数据集
数据类型是一系列的键值对
有快速查询功能,但存储数据少结构化
对事务的支持不好,数据库故障产生时不可进行回滚
2)列存储数据库(HBase)
用于分布式的文件系统
以列簇式存储,将同一列数据存在一起
查找速度快,可扩展强,更容易进行分布式扩展
功能相对局限
3)面向文件的数据库(mongoDB)
用于WEB应用较多
数据类型是一系列键值对
查询性能不高,没有统一的查询语法
4)图形数据库(Graph)
社交网络应用较多
不容易做分布式的集群方案
常用的Nosql数据库介绍
1)memcached
是一个开源高性能的,具有分布式内存对象的缓存系统
特点:
1、安装布署简单
2、支持高并发、高性能
3、通过程序或负载均衡可以实现分布式
4、仅为内存缓存,重启服务数据丢失
官方网站:http://memcached.org
2)memcacheDB
是新浪基于memcached开发的一个开源项目,具备了事务恢复功能
特点:
1、高并发读写
2、高效存储
3、高可用数据存储
官方网站:http://memcachedb.org/benchmark.html
生产环境如何选择Nosql数据库
1、最常规的缓存应用,memcached最合适
2、持久化存储方案memcacheDB
3、2000万以内数据量的小数据用memcached
4、大数据量可以用redis
redis持久化数据服务
REmote DIctionary server(redis)是一个基于key-value键值对的持久化数据库存储系统,对支持数据存储类型更多,包括字符串、列表、集合等
是一种持久化缓存服务,会周期的把更新的数据写入磁盘以及把修改操作记录追加到文件里记录下来,还支持主从同步模式,是一个开源的基于C语言编写的,支持网络、内存可持久化的日志型、key-value数据库
redis持久服务的特点
key-value键值类型存储系统
支持数据可靠存储
单进程单线程高性能服务器
恢复比较慢
单机qps(秒并发)可以达到10W
适合小数据高速读写访问
redis存储系统优、缺点:
可以持久化存储数据
支持每秒10W的读写频率
支持丰富的数据类型
所有操作都是原子性的
支持异机主从复制
内存管理开销大(低于物理内存的3/5)
不同命令延迟差别大
官方网站:http://www.redis.io
redis持久化介绍
redis将数据存储于内存中,通过快照、日志两种方式实现持久化存储,前者性能高,会有数据丢失的情况,后者相反。
redis应用场景
MYSQL+memcached网站架构的问题:数据量大就需要拆表,需要扩容,数据一致性是个问题
1)***应用场景就是内存服务
2)作为memcached替代方案
3)对数据一致性有一定要求但不高的业务
4)需要更多数据类型支持的业务
5)需要主从同步及负载均衡的业务
redis的安装
要进行主从同步配置,可以实现故障切换,主上禁用数据持久化,从上配置,内存要够大
wgethttp://download.redis.io/releases/redis-2.8.24.tar.gz[root@redis-mtools]#tarzxfredis-2.8.24.tar.gz[root@redis-mtools]#cdredis-2.8.24[root@redis-mredis-2.8.24]#make[root@redis-mredis-2.8.24]#makePREFIX=/application/redis-2.8.24install[root@redis-mredis-2.8.24]#ln-s/application/redis-2.8.24/application/redis[root@redis-mtools]#tree/application/redis/application/redis`--bin|--redis-benchmark#性能测试工具|--redis-check-aof#检测更新日志|--redis-check-dump#检查本地数据库rdb文件|--redis-cli#命令行客户端操作工具|--redis-sentinel->redis-server`--redis-server#服务的启动程序
配置环境变量
[root@redis-mtools]#echo"PATH=/application/redis/bin:$PATH">>/etc/profile[root@redis-mtools]#source/etc/profile[root@redis-mtools]#whichredis-server/application/redis/bin/redis-server
查看帮助文档
[root@redis-mtools]#redis-server--helpUsage:./redis-server[/path/to/redis.conf][options]./redis-server-(readconfigfromstdin)./redis-server-vor--version./redis-server-hor--help./redis-server--test-memory<megabytes>Examples:./redis-server(runtheserverwithdefaultconf)./redis-server/etc/redis/6379.conf./redis-server--port7777./redis-server--port7777--slaveof127.0.0.18888./redis-server/etc/myredis.conf--loglevelverbose
启动服务
[root@redis-m~]#cd/application/redis/[root@redis-mredis]#lltotal4drwxr-xr-x2rootroot4096Mar2204:50bin[root@redis-mredis]#mkdirconf[root@redis-mredis]#cp/download/tools/redis-2.8.24/redis.conf./conf/[root@redis-mredis]#redis-server/application/redis/conf/redis.conf&[6072]22Mar05:00:51.373#Serverstarted,Redisversion2.8.24[6072]22Mar05:00:51.374#WARNINGovercommit_memoryissetto0!Backgroundsavemayfailunderlowmemorycondition.Tofixthisissueadd'vm.overcommit_memory=1'to/etc/sysctl.confandthenrebootorrunthecommand'sysctlvm.overcommit_memory=1'forthistotakeeffect.
#内存不足的时候,数据加载到磁盘可能失效,可以使用命令解决或修改配置文件
[6072]22Mar05:00:51.375#WARNING:TheTCPbacklogsettingof511cannotbeenforcedbecause/proc/sys/net/core/somaxconnissettothelowervalueof128.[6072]22Mar05:00:51.375*Theserverisnowreadytoacceptconnectionsonport6379[root@redis-mredis]#lsof-i:6379COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEredis-ser6072root4uIPv6242710t0TCP*:6379(LISTEN)redis-ser6072root5uIPv4242730t0TCP*:6379(LISTEN)vm.overcommit_memory
0表示用户空间请求更多内存时,内核尝试估算出余下可用内存
1表示内核允许***限度的的使用内存
关闭服务命令
[root@redis-mredis]#redis-clishutdown[6072]22Mar05:09:32.699#Userrequestedshutdown...[6072]22Mar05:09:32.699*SavingthefinalRDBsnapshotbeforeexiting.[6072]22Mar05:09:32.710*DBsavedondisk[6072]22Mar05:09:32.711#Redisisnowreadytoexit,byebye...[1]+Doneredis-server/application/redis/conf/redis.conf
“NoSQL数据库的简单介绍以及redis持久化数据服务”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。