先补充一下关系型数据库和非关系型数据库的区别:
关系型数据库:数据库中有那些表,表里有哪些字段,表与表之间有什么关系
noSQL:非关系型数据库
存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是kv形式。
nosql的世界中没有同一种通用语言,每种nosql都有自己的api和语法,以及擅长的业务场景。
常见的noSql : Mongodb、Redis
Nosql 和SQL数据库的比较:
适用场景不同:sql适用于关系特别复杂的数据查询场景,nosql反之
“事务”特性的支持,sql对事务(事务一组sql操作要么都失败要么都成功.)的支持非常完善,而nosql基本不支持事务。
两者在不断的取长补短
Redis
C语言编写,支持网络,
可基于内存亦可持久化的日志型,可写入文件。
key-value数据库
提供多种语言的API
nosql适应于不同场景下的存储需求,可与胜任缓存、队列系统的不同角色。
特性:
1.支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用。
2.仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3.redis:支持数据库的备份,即master-slave模式。
优势:
1.性能极高,redis能读的速度是110000次/s,写的速度是81000次/s
2.丰富的数据库类型-redis支持二进制案例的Strings,Lists,Sets,Ordered Sets数据类型操作。
3.原子:-redis所有操作都是原子性的(没有多进程多线程进行抢占资源),同时Redis还支持对几个操作全并后的原子性的执行。
4.支持publish/subscribe通知key过期等特性。
应用场景:
- 用来做缓存(ehcache/memcached)--redis所有数据都是放在内存中的(内存数据库)
- 可以在某些特定应用情况下替代传统的数据库--比如社交类软件
- 在一些大型的系统中,巧妙的实现一些特定功能,session共享,购物车
- 只要你愿意想象redis会给你无限惊喜...
安装:
redis-win下载地址:https://www.jb51.net/softs/541181.html
核心配置文件:
1.守护进程:
如果以守护进程运行,不会有命令行阻塞,类似于服务。
非守护进程运行,则当前终端被阻塞。
设置为yes表示守护进程,no为非守护进程
推荐为yes
daemonize yes
参考地址:http://blog.csdn.net/ljphilp/article/details/52934933
2.数据库文件:
代表filename dump.rdb
数据库文件存储路径:
dir /var/lib/redis
3.日志文件:
logfile/var/log/redis/redis-server.log
4.数据库:默认16个
database 16
5.主从复制,类似于双机备份,设置主从的时候使用
slave of
服务端和客户端
服务器端:
redis-server
启动server redis start
停止:server redis stop
重启 sudo service redis stop
可以通过redis-server --help
px aux|grep redis 查看进程。
客户端;
redis-cli
帮助文档redis-cli --help
连接redis-cli
测试连接 ping
redis数据库默认第一个数据库 0-15,可以通过select选择想要的数据库