redis_安装
前面几章内容简单介绍了NoSql的概念,以及NoSql的几种分类,本文开始后面开始学习KV数据库Redis。
一、Redis是什么?
Redis:REmote DIctionary Server(远程字典服务器),是完全开源免费的,用C语言编写,遵守BSD协议,是一个高性能(Key/Value)分布式内存数据库,基于内存运行并支持持久化的NoSql数据库,当前被人们称为数据结构服务器。
Redis与其他key - Value缓存产品有以下三个特点:
1.Redis支持数据持久化,可以将内存中的数据保存在磁盘中没重启的时候可以再次加载使用。
2.Redis不仅仅支持简单的Key-value类型的数据,同时还提供了list,set,zset,hash等数据结构的存储。
3.Redis支持数据的备份,即master-slave模式的数据备份。
二、Redis可以做什么?
内存存储持久化:Redis支持异步将内存中的数据写到磁盘上,同时不影响继续服务取最新N个数据的操作,如:可以将最新的10条评论的ID放到Redis的List集合里面,模拟类似于HttpSession这种需要设定过去事件的功能,发布、订阅消息系统、定时器、计数器等。
我在这里安装的是win7的,linux的在安装redis需要安装gcc的编译器。
四、Redis怎么玩?
1.数据类型、基本操作和配置
2.持久化和复制,RDB/AOF
3.事务的控制
4.复制
五、启动后杂项基础知识
1. 单进程
redis单进程模型来处理客户端的请求。对读写等事件的响应是通过epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率。
Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是linux下多路复用IO接口select/poll的增强版本,它能显著的提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
2.默认16个数据库,类似数组下标从零开始,初始默认使用零号库
在redis.conf中可以设置数据库的的数量,默认是16个数据库,默认db0,可以选择,我们可以将不同的业务数据存放在不同的数据库中。
3.Select命令切换数据库
4.Dbsize查看当前数据库的key的数量(keys * 查询所有key)
5.Flushdb:清空当前库
6.Flushall:通杀全部库
7.统一密码管理,16个库是同样的密码,要么都ok要么都不能连接
8.Redis索引都从0开始