redis学习第一天

Redis简介

  • Redis : Remote Dictionary Server(远程字典服务器)
  • Redis是当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI c语言编写的key-value存储系统(区别于MySQL的二维表格的形式存储。)
  • 和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化
1. Redis的特点
  • Redis读取的速度是110000次/s,写的速度是81000次/s
  • 原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
  • 持久化,主从复制(集群)
  • 支持过期时间,支持事务,消息订阅(消息订阅一般不用Redis,使用消息中间件MQ)
  • 官方不支持window,但是又第三方版本。(将Redis装到Linux上)
2. 应用场景
1. 数据缓存(提高访问性能)
  • 将一些数据在短时间之内不会发生变化,而且它们还要被频繁访问,为了提高用户的请求速度和降低网站的负载,降低数据库的读写次数,就把这些数据放到缓存中。
2. 会话缓存
  • (session cache,保存web会话信息)
3. 排行榜和计数器
  • NGINX+lua+redis计数器进行IP自动封禁
4. 消息队列
  • 构建实时消息系统,聊天,群聊

Redis的安装及启动停止

1.下载Redis5
  • redis目前的最新版本是5.X此教程是以4.X为基础来整理的,大家尽量保持一致

    网站:https://redis.io/download

2. 安装步骤
  • 1.打开VM虚拟机把文件copy到/opt/software里面

在这里插入图片描述

  • 2.安装gcc 目的是编译软件(gcc是编译器)
    yum install gcc-c++       -----安装命令
    
  • 3.解压
    tar -zxvf redis-5.0.7.tar.gz  -C  /usr/local    -----解压linux命令
    
  • 4.打开/usr/local/redis-5.0.7/deps进行编译依赖项
    cd /usr/local/redis-5.0.7/deps        -----先进入deps
    make hiredis lua jemalloc linenoise    
    
  • 5.打开/user/local/redis-5.0.7进行编辑
    cd /user/local/redis-5.0.7             -----先进入
    make
    

    这是编程成功后(注意图片上的目录不是这个步骤中的目录)

在这里插入图片描述

  • 6.在上面的Redis目录安装把它安装到/usr/local/redis里面
    mkdir /usr/local/redis         -----先创建redis文件夹
    make install PREFIX=/usr/local/redis    -----安装
    

    看到图中所示说明安装成功
    在这里插入图片描述

  • 7. 验证安装是否成功
    cd /usr/local/redis/bin
    
    ls
    

    看到如下启动文件就可以了

在这里插入图片描述

  • 8. 把配置文件移动到/root/myredis目录[目录可以自定义] 可以为/root/myredis
    mkdir /root/myredis
    cp /usr/local/src/redis/redis.conf /root/myredis
    
  • 9.启动Redis
    cd /usr/local/redis/bin   -----先进入目录
    ./redis-server /root/myredis/redis.conf
    

    看到如下图说明启动成功

    在这里插入图片描述

  • 10.默认情况,Redis不是在后台运行,我们需要把redis放在后台运行

    需要另启动一个会话窗口进行操作,

    如果将redis的运行设置为后台运行,就可以不另开窗口

    vi /usr/myredis/redis.conf     -----修改配置文件
                                         往下找,找到如图修改即可设置成后台运行
    

    在这里插入图片描述

  • 11.再次启动查看进程
    ./redis-server /usr/myredis/redis.conf
    ps -ef|grep redis            -----查看进程
    

    在这里插入图片描述

​ 可以看到6379(redis默认端口)端口已启动了redis

  • 12. 客户端链接和退出
    #连接
    cd /usr/local/redis/bin
    ./redis-cli  (默认是-h 127.0.0.1 -p 6379)括号中的不写就是启动默认端口6379,如果                                  设置了其他端口,就得写-h 127.0.0.1 -p 端口号,                                  127.0.0.1是本机不用联网的ip  
    #退出
    quit
    
    ping  自己的网ping一下如果同了就是PONG
    PONG
    
  • 13.停止redis
    cd /usr/local/redis/bin
    ./redis-cli shutdown
    #或者
    kill redis-server
    #再次查看进程
    ps -ef|grep redis
    
  • 14. 开机自启Redis的配置(一般不用)
    vi /etc/rc.local
      加入
      /usr/local/redis/bin/redis-server /usr/myredis/redis-conf
    
    
  • 15.bin目录的文件说明
    redis-benchmark:redis性能测试工具
    redis-check-aof:检查aof日志的工具
    redis-check-rdb:检查rdb日志的工具
    redis-cli:连接用的客户端
    redis-server:redis服务进程
    
    
  • 16.redis配置
    vi root/myredis/redis.conf           -----首先进入配置文件,在修改
    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同时使用的线程数量
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值