Nosql数据库
什么是Nosql数据库?
非关系型数据库就是Nosql,关系型数据库代表MysqL;
关系型数据库,是需要吧数据存储到库、表、行、字段中,查询需要根据条件一行行的匹配,需要从磁盘中检索,耗费时间和资源;
Nosql数据库,存储原理简单(数据类型为K-V),数据可以存储在内存里,查询速度非常快;扩展非常容易,支持分布式;
常见的Nosql数据库
k-v形式:memcached、redis适合存储用户信息,比如回话、配置文件、参数、购物车等等。这些信息一般与ID(键)挂钩,这种情景下键值数据库是很好的选择;
文档数据库:mongodb将数据以文档的形式存储;
列存储:Hbase
图:Neo4j、Infinite Graph、OrientDB
memcached介绍
特点:缓存数据库查询结果,减少数据库访问次数,恻然提高动态web站点性能;
官网:www.memcached.org
数据结构简单(k-v),数据存放在内存中;重启数据会丢失,重启前必须将数据保存到硬盘中;
多线程;
基于c/s架构,协议简单;
基于libevent的时间处理;
自主内存存储处理(slab allowcation)
数据过期方式:Lazy Expiration 和LRU
~~
安装memcached
源码包
yum install -y libmemcached libevent yum install -y memcached
启动
systemctl start memcached
配置文件
vim /etc/sysconfig/memcached
监听的ip,可以将OPTIONS="" 改为OPTIONS="127.0.0.1" 其中-m指定memcached 分配内存,单位为M -c 指定最大并发数 -u 指的是运行memcached服务的用户 -p 为监听端口
查看运行状态
memcached-tool 127.0.0.1:11211 stats 或者echo stats |nc 127.0.0.1 11211 需要安装nc工具 memstat --servers=127.0.0.1:11211 get_hits:命中了多少 curr_items:缓存了多少