-
非关系型数据库:
1、Redis:键值对
2、MangoDB:文档型
-
列存储数据库:HBase
图关系数据库:Neo4J
1、Redis
1、定义
即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
2、Redis-benchmark性能测试工具
3、Redis为什么那么快?为啥是单线程?
快:完全基于内存、数据结构简单、对数据操作也简单;采用单线程,避免了不必要的上下文切换和竞争条件
单:Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。
4、基本命令
-
-- 0、查看Redis进程是否启动:
ps -ef|grep redis
-
-- 1. Redis开启服务
./redis-server
redis-server /usr/local/etc/redis.conf
-
-- 2. Redis客户端连接服务
redis-cli -p 6379
./redis-cli -p 6379
-
-- 3. Redis测试连接
ping(显示PONG为连接正常)
-
select 1:切换到第二个数据库(Redis有16个数据库,默认第0个)
-
dbsize:显示当前数据库的key数量
-
set mykey myvalue:设置键为mykey ,值为myvalue
-
get mykey :获取键为mykey 的值
-
keys *:显示所有的key
-
flushdb:清空当前数据库
-
flushall:清空所有数据库
5、在Linux系统中,Redis本来是有数据的,但在Linux系统重启后,Redis中的数据全部丢失
解决方法:
java
1、编辑 sysctl.conf 配置文件
vi /etc/sysctl.conf
2、另起一行增加参数 vm.overcommit_memory 配置,如下
vm.overcommit_memory = 1
3、使配置文件生效
sysctl -p