redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 有三个主要使其有别于其它很多竞争对手的特点:
(1)Redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性目的;
(2)Redis相比许多键值数据存储系统有相对丰富的数据类型;
(3)Redis可以将数据复制到任意数量的从服务器中;
Redis优点
异常快速 :Redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。
支持丰富的数据类型 :Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。
这使得在应用中很容易解决的各种问题,因为我们知道哪些问题处理使用哪种数据类型更好解决。
操作都是原子的 :所有 Redis 的操作都是原子,从而确保当两个客户同时访问 Redis 服务器得到的是更新后的值(最新值)。
MultiUtility工具:Redis是一个多功能实用工具,可以在很多如:缓存,消息传递队列中使用(Redis原生支持发布/订阅),在应用程序中,如:Web应用程序会话,网站页面点击数等任何短暂的数据;
一、redis安装
下载redis
下载链接:https://redis.io/download
下载并解压
wget http://download.redis.io/releases/redis-3.2.5.tar.gz
tar -zxvf redis-3.2.5.tar.gz
找到redis的目录进入
cd redis-3.2.5
make编译redis
make
或者
make install
注意:make命令执行完成编译后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump、redis-sentinel。
执行make install。会将make编译生成的可执行文件拷贝到/usr/local/bin目录下;
redis安装异常
问题一:
make[2]: cc: Command not found
异常原因:没有安装gcc
解决方案:yum install gcc-c++
问题二:
zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory
异常原因:一些编译依赖或原来编译遗留出现的问题
解决方案:make distclean。清理一下,然后再make。
在make成功以后,需要make test。在make test出现异常。
问题三:
couldn’t execute “tclsh8.5”: no such file or directory
异常原因:没有安装tcl
解决方案:yum install -y tcl。
二、启动redis
1:直接启动
./redis-server
加上`&`号使redis以后台程序方式运行
./redis-server &
检测后台进程
ps -ef |grep redis
netstat -lntp | grep 6379
使用redis-cli客户端检测连接是否正常
./redis-cli
2:通过指定配置文件启动
可为redis服务启动指定配置文件,配置文件 redis.conf 在redis根目录下。
#修改daemonize为yes,即默认以后台程序方式运行(还记得前面手动使用&号强制后台运行吗)。
daemonize no
#可修改默认监听端口
port 6379
#修改生成默认日志文件位置
logfile "/home/futeng/logs/redis.log"
#配置持久化文件存放位置
dir /home/futeng/data/redisData
启动时指定配置文件
redis-server ./redis.conf
#如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口,例如:
redis-cli -p 6380
3:redis开机自启动
执行./utils/install_server.sh配置Redis配置之后Redis能随系统启动。
执行基本配置./utils/install_server.sh之后,根据上面信息,可以得出:
默认的端口:6379,
生成一个redis配置文件:/etc/redis/6379.conf
生成一个redis日志文件:/etc/log/redis_6379.log
脚本:/var/lib/redis/6379
默认目录:/usr/local/bin/redis-server
三、Redis设置密码
修改配置文件
进入你redis.conf的配置文件,路径根据你的实际情况来
vi redis.conf
命令模式下查找requirepass 密码字段
释放注释,写上自己的密码: requirepass yourpassword :requirepass 123456
保存之后重启服务
重启命令
redis-server /etc/redis/6379.conf
启动测试
/usr/local/bin/redis-cli
如何关闭有密码的服务:
/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 -a 123456 shutdown
参考文章:
http://www.linuxdiyf.com/linux/13401.html (Redis的三种启动方式)
http://www.souvc.com/?p=1678