简介:

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

redis 使用场景

登录会话存储:存储在redis中,与memcached相比,数据不会丢失。 排行版/计数器:比如一些秀场类的项目,经常会有一些前多少名的主播排名。还有一些文章阅读量的技术,或者新浪微博的点赞数等。 作为消息队列:比如celery就是使用redis作为中间人。 当前在线人数:还是之前的秀场例子,会显示当前系统有多少在线人数。 一些常用的数据缓存:比如我们的BBS论坛,板块不会经常变化的,但是每次访问首页都要从mysql中获取,可以在redis中缓存起来,不用每次请求数据库。 把前200篇文章缓存或者评论缓存:一般用户浏览网站,只会浏览前面一部分文章或者评论,那么可以把前面200篇文章和对应的评论缓存起来。用户访问超过的,就访问数据库,并且以后文章超过200篇,则把之前的文章删除。 好友关系:微博的好友关系使用redis实现。 发布和订阅功能:可以用来做聊天软件。

redis 和 memcached 比较

安装步骤:

1.获取redis资源

cd /usr/local yum -y install gcc gcc-c++ kernel-devel make #安装编译包 wget http://download.redis.io/releases/redis-4.0.8.tar.gz #下载源码包

2.解压

tar xzvf redis-4.0.8.tar.gz

3.编译安装

cd redis-4.0.8 make cd src make install PREFIX=/usr/local/redis

4.移动配置文件到安装目录下

cd ../ mkdir /usr/local/redis/etc cp redis.conf /usr/local/redis/etc

5.配置redis为后台启动

vim /usr/local/redis/etc/redis.conf 将daemonize no 改成daemonize yes

6.将redis加入到开机启动

vim /etc/rc.local //在末尾添加内容: /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf #开机调用这段开启redis的命令

7.开启redis

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf netstat -ntap | grep 6379

编写启动脚本:

vim /usr/bin/redisup

#!/bin/bash
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

chmod +x /usr/bin/redisup redisup #启动

常用命令  

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf #启动redis redisup 启动命令(优化后) pkill redis #停止redis

yum安装教程

yum install -y epel-release #更新epel源 yum install redis -y #安装redis vim /usr/local/redis/etc/redis.conf

将daemonize no 改成daemonize yes

systemctl start redis.service #启动服务 netstat -anpt | grep 6379 redis-cli -h 192.168.0.106 -p 6379 #测试连接

设置密码

1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效)

(1)首先进入redis,如果没有开启redis则需要先开启:

cd /usr/local/redis/bin sh redis-cli -p 6379 127.0.0.1:6379>

备注:

也可以优化命令 ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis-cli [root@localhost ~]# redis-cli -p 6379 127.0.0.1:6379>

(2)查看当前redis有没有设置密码:

127.0.0.1:6379> config get requirepass

  1. "requirepass"
  2. ""

(3)为以上显示说明没有密码,那么现在来设置密码:

127.0.0.1:6379> config set requirepass abcdefg OK

(4)再次查看当前redis就提示需要密码:

127.0.0.1:6379> config get requirepass (error) NOAUTH Authentication required.

2.第二种方式 (永久方式)

修改redis.conf配置: vim /usr/local/redis/etc/redis.conf  requirepass P@ss#12-*- 设置密码

注意:线上服务器设置密码一定要尽可能的复杂,否则非常容易中病毒(本人就遭遇过),在此提醒!!!

保存后重启redis就可以了

参考文章:

1.https://www.cnblogs.com/lauhp/p/8487029.html 2.https://www.cnblogs.com/renshaoqi/p/10617238.html