一.什么是Redis
Redis是一门c语言开发的数据库,redis数据库中所有数据都存储在内存中,因此Redis在性能上优于其他基于硬盘的数据库,redis也提供了持久化的功能,可以将内存中的数据异步存到硬盘上。大多数项目中会用Redis作为缓存来使用。
二.Redis和Memcached对比
Memcached也是使用较为广泛的缓存系统。两者有一些区别。Redis是单线程的,而Memcached是多线程的,所以 在多核服务器上,memcachedx性能应该更高一些。Redis支持持久化,而Memcached本身不支持持久化功能。Redis支持持发布/订阅模式这样的通知机制。
三.缓存原理
在web应用或者c/s应用中我们的数据一般是保存在数据库或者文件中,其实数据库的数据也是以文件的形式保存的,每次查询数据都需要从硬盘这种读取速度比较慢的存储设备中读,而互联网应用并发量非常大,就会导致数据库异常繁忙甚至瘫痪。有人做过数据调查大概80%的查询都是集中在20%的数据上,于是就可以这样设计:把经常使用的数据放在查询速度较快的内存中,如果不能命中再去数据库中查询。
其实这种缓存设计在计算机中处处体现着,如cpu有多级缓存,寄存器相对于内存是更快的缓存,等等。
四.Redis安装
Windows下Redis体现不是很好,我是在Ubuntu14.04上安装的Redis。Ubuntu提供了deb的安装包,所以Ubuntu安装起来比较简单。
1.安装deb
2,配置redis.conf,启动的时候指定redis.conf文件
3.关于redis.conf里面的一些配置
redis.conf默认路径是在/etc/redis/redis.conf
daemonize yes 知否是守护线程。
logfile /var/log/redis/redis-server.log Redis日志路径
port 6379 Redis服务端口号,默认是6379
# bind 192.168.1.100 10.0.0.1 设置只允许固定ip来访问。
timeout 0 客户端多久没有发出指令则服务端断开连接。 0表示超时时间无限大。
dir /var/lib/redis 设置持久化文件路径
还有一些命令跟集群相关后面再说
4.关闭redis服务
redis-cli shutdown redis会先断开所有客户端连接,然后等待完成持久化之后才真正关闭。
五.redis-cli的使用
redis-cli是远程连接redis-server的客户端。
lubby@ubuntu:~$ redis-cli -h localhost -p 6379