Redis介绍和安装
一、Redis 介绍 |
redis是业界主流的key-value nosql 数据库之一。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
1、Redis的数据类型:
字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
2、Redis和memcache相比的独特之处:
(1)redis可以用来做存储(storge)、而memcache是来做缓存(cache)。这个特点主要是因为其有“持久化”功能
(2)存储的数据有“结构”,对于memcache来说,存储的数据,只有一种类型——“字符串”,而redis则可以存储字符串、链表、集合、有序集合、哈序结构
3、持久化的两种方式:
Redis将数据存储于内存中,或被配置为使用虚拟内存。
实现数据持久化的两种方式:(1)使用截图的方式,将内存中的数据不断写入磁盘(性能高,但可能会引起一定程度的数据丢失)
(2)使用类似mysql的方式,记录每次更新的日志
4、Redis的主从同步:对提高读取性能非常有益
5、Redis服务端的默认端口是6379
Redis优点:
-
异常快速 : Redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。
-
支持丰富的数据类型 : Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。
这使得在应用中很容易解决的各种问题,因为我们知道哪些问题处理使用哪种数据类型更好解决。 -
操作都是原子的 : 所有 Redis 的操作都是原子,从而确保当两个客户同时访问 Redis 服务器得到的是更新后的值(最新值)。
-
MultiUtility工具:Redis是一个多功能实用工具,可以在很多如:缓存,消息传递队列中使用(Redis原生支持发布/订阅),在应用程序中如:Web应用程序会话,网站页面点击数等任何短暂的数据;
二、安装Redis环境 |
1、先到Redis官网(redis.io)下载redis安装包
2、解压并进入其目录
3、编译源程序
make cd src make install PREFIX=/usr/local/redis
4、将配置文件移动到redis目录
5、启动redis服务
6、默认情况,Redis不是在后台运行,我们需要把redis放在后台运行
vim /usr/local/redis/etc/redis.conf
将daemonize的值改为yes
7、客户端连接
/usr/local/redis/bin/redis-cli
8、停止redis实例
/usr/local/redis/bin/redis-cli shutdown 或者 pkill redis-server
9、让redis开机自启
vim /etc/rc.local
加入 /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
10、接下来我们看看/usr/local/redis/bin目录下的几个文件是什么
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
11、Redis的配置
daemonize:如需要在后台运行,把该项的值改为yes pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址 bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项 port:监听端口,默认为6379 timeout:设置客户端连接时的超时时间,单位为秒 loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上 database:设置数据库的个数,默认使用的数据库是0 save:设置redis进行数据库镜像的频率 rdbcompression:在进行镜像备份时,是否进行压缩 dbfilename:镜像备份文件的文件名 dir:数据库镜像备份的文件放置的路径 slaveof:设置该数据库为其他数据库的从数据库 masterauth:当主数据库连接需要密码验证时,在这里设定 requirepass:设置客户端连接后进行任何其他指定前需要使用的密码 maxclients:限制同时连接的客户端数量 maxmemory:设置redis能够使用的最大内存 appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态 appendfsync:设置appendonly.aof文件进行同步的频率 vm_enabled:是否开启虚拟内存支持 vm_swap_file:设置虚拟内存的交换文件的路径 vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0 vm_page_size:设置虚拟内存页的大小 vm_pages:设置交换文件的总的page数量 vm_max_thrrads:设置vm IO同时使用的线程数量