标签:set perm 同步 smart 实例 安全 art 客户端 多核
优点:高性能读写、单一数据类型、支持客户端式分布式集群、一致性hash、多核结构、多线程读写性能高。
缺点:无持久化、节点故障可能出现缓存穿透、分布式需要客户端实现、跨机房数据同步困难、架构扩容复杂度高
优点:高性能读写、多数据类型支持、数据持久化、高可用架构、支持自定义虚拟内存、支持分布式分片集群、单线程读写性能极高
缺点:多线程读写较Memcached慢
应用企业:新浪、京东、直播类平台、网页游戏
优点:高性能读写、支持三种存储引擎(ddb、rdb、ldb)、支持高可用、支持分布式分片集群、支撑了几乎所有淘宝业务的缓存。
缺点:单机情况下,读写性能较其他两种产品较慢
memcached:适合多用户访问,每个用户少量的rw
redis :适合少用户访问,每个用户大量rw
Memcached:多核的缓存服务,更加适合于多用户并发访问次数较少的应用场景
Redis:单核的缓存服务,单节点情况下,更加适合于少量用户,多次访问的应用场景。
Redis一般是单机多实例架构,配合redis集群出现。
1)Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品
2)Redis采用内存(In-Memory)数据集(DataSet)
3)支持多种数据类型
4)运行于大多数POSIX系统,如Linux、*BSD、OS X等
5)作者: Salvatore Sanfilippo
主要功能:
1)数据高速缓存
2)web会话缓存(session cache)
3)排行榜应用
4)消息队列
5)发布订阅
1)redis.io
2)download/redis.io
3)redisdoc.com
4)redis.cn
1)下载软件包
[root@redis-master ~]# mkdir /data [root@redis-master ~]# cd /data/ && wget http://download.redis.io/releases/redis-3.2.12.tar.gz
2)解压并重命名
[root@redis-master data]# cd /data [root@redis-master data]# tar xzf redis-3.2.12.tar.gz [root@redis-master data]# mv redis-3.2.12 redis
3)编译安装
[root@redis-master redis]# cd redis/ && make
4)环境变量设置
cat >>/etc/profile<<EOF export PATH=/data/redis/src:$PATH EOF source /etc/profile
5)编辑配置文件
mkdir /data/6379 cat >>/data/6379/redis.conf<<EOF daemonize yes port 6379 logfile /data/redis/redis.log dir /data/redis dbfilename dump.rdb EOF #+++++++++++++++++++++++++++++++++++++++++++++++++++ #配置文件说明 #配置文件路径/data/6379/ daemonize yes #是否后台运行 port 6379 #默认端口 logfile /data/6379/redis.log #日志文件位置 dir /data/6379 #持久化文件存储位置 dbfilename dump.rdb #RDB持久化数据文件
6)指定配置文件启动
[root@redis-master redis]# redis-server /data/6379/redis.conf [root@redis-master redis]# ps -ef|grep redis root 23544 1 0 17:34 ? 00:00:00 redis-server *:6379 root 23549 19597 0 17:34 pts/0 00:00:00 grep --color=auto redis #关闭命令:redis-cli shutdown
7)redis启停脚本
#!/bin/bash #Name:redis_start.sh #Version:V1.0 USAG(){ echo "sh $0 {start|stop|restart|login|ps|tail} PORT" } if [ "$#" = 1 ] then REDIS_PORT=‘6379‘ elif [ "$#" = 2 -a -z "$(echo "$2"|sed ‘s#[0-9]##g‘)" ] then REDIS_PORT="$2" else USAG exit 0 fi REDIS_IP=$(hostname -I|awk ‘{print $1}‘) PATH_DIR=/data/${REDIS_PORT}/ PATH_CONF=${PATH_DIR}/redis.conf PATH_LOG=$PATH_DIR/redis.log PASS=123 CMD_START(){ redis-server ${PATH_CONF} } CMD_SHUTDOWN(){ redis-cli -c -a $PASS -h ${REDIS_IP} -p ${REDIS_PORT} shutdown } CMD_LOGIN(){ redis-cli -c -a $PASS -h ${REDIS_IP} -p ${REDIS_PORT} } CMD_PS(){ ps -ef|grep redis } CMD_TAIL(){ tail -f ${PATH_LOG} } case $1 in start) CMD_START CMD_PS ;; stop) CMD_SHUTDOWN CMD_PS ;; restart) CMD_SHUTDOWN CMD_START CMD_PS ;; login) CMD_LOGIN ;; ps) CMD_PS ;; tail) CMD_TAIL ;; *) USAG esac
当第一次指定ip,端口连接时:
[root@redis-master ~]# redis-cli -h 10.0.0.11 -p 6379 #报错 10.0.0.11:6379> set a 1 (error) DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command ‘CONFIG SET protected-mode no‘ from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to ‘no‘, and then restarting the server. 3) If you started the server manually just for testing, restart it with the ‘--protected-mode no‘ option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside. #redis默认开启了保护模式,只允许本地回环地址登录并访问数据库。 禁止protected-mode: è不推荐 protected-mode yes/no (保护模式,是否只允许本地访问)
[root@redis-master ~]# vim /data/6379/redis.conf bind 10.0.0.11 127.0.0.1
2)增加验证requirepass
vim /data/6379/redis.conf requirepass 123456
登录安全验证:
[root@redis-master ~]# redis-cli shutdown [root@redis-master ~]# redis-server /data/6379/redis.conf #方式一 [root@redis-master ~]# redis-cli -a 123456 127.0.0.1:6379> set a 1 OK #方式二 [root@redis-master ~]# redis-cli 127.0.0.1:6379> auth 123456 OK
CONFIG GET * #查看所有的配置 CONFIG GET requirepass #查看密码 CONFIG SET requirepass 123 #修改密码,实时生效
标签:set perm 同步 smart 实例 安全 art 客户端 多核
原文地址:https://www.cnblogs.com/hujinzhong/p/11620122.html