zoukankan      html  css  js  c++  java
  • Redis安装

    Redis用处
    举个例子,A网站首页一天有100万人访问,其中有一个“积分商城”的板块,要直接从数据库查询,那么一天就要多消耗100万次数据库请求。如果将这些数据储存到Redis(内存)中,要用的时候,直接从内存调取,不仅可以大大节省系统直接读取磁盘来获得数据的IO开销,提高服务器的资源利用率,还能极大地提升速度。

    • 页面缓存,Redis可将Web页面的内容片段,包括HTML,CSS和图片等静态数据,缓存到Redis实例,提高网站的访问性能。比如在电商类应用中,热销商品展示、秒杀推荐等数据面临高并发读的压力,分布式缓存Redis的高并发及灵活扩展,可轻松支持此类应用。
    • 状态缓存,Redis可将Session会话状态及应用横向扩展时的状态数据等缓存到DCS实例,实现状态数据共享。在应对游戏应用中爆发式增长的玩家数据存储和读写请求时,使用分布式缓存Redis可通过将热点数据放入缓存,加快用户端访问速度,提升用户体验。
    • 数据缓存(核心),Redis可作为服务层的二级缓存对外提供服务,减轻数据库的负载压力,加速应用访问
    • 事件缓存,Redis可提供针对事件流的连续查询(continuous query)处理技术,满足实时性需求。
    • 单线程服务,不管是多少高并发分布式的请求,到了redis上都是单线程的队列服务

    window安装
    这个版本很低,跟不上Linux的安装包,只能做本地调试,查看菜鸟教程的笔记

    • 去github上下载安装包,安装后
    • 在文件夹里打开cmd
    redis-server.exe redis.windows.conf
    
    • 打开另一个cmd
    # 连接服务
    redis-cli.exe -h 127.0.0.1 -p 6379
    
    # 设置键值对:
    set myKey abc
    
    # 取出键值对:
    get myKey
    

    Linux安装

    • 去官网下载tar.gz安装包,保存起来
    • 用Xftp传到local文件夹里,解压
    # 整个解压编译过程
    tar -zxvf redis-5.x.tar.gz
    cd redis-2.8.17
    make
    
    
    # 设置后台运行
    ls
    vim redis.config
    # 将bind 127.0.0.1 改成 0.0.0.0 允许所有服务器访问,为了多服务器集群
    # requirepass "密码"  设置密码,默认没有密码
    # 将daemonize的值设置为yes,原本是no,后台运行
    :wq!
    
    # 启动
    ./src/redis-server ./redis.conf
    
    # 查看进程
    ps -ef|grep redis
    
    # 输入密码
    auth 密码
    

    docker

    # 下载
    docker pull registry.docker-cn.com/library/redis
    # 开启
    docker run --name myRedis -p 6378:6379 -d redis:latest 
    

    持久化配置
    redis是存在内存里的,查询速度飞快,但是一旦关机数据就会删除,所以需要配置持久化【默认没有开启持久化】,持久化是redis里有个子进程,会定时从主进程里获取数据进行本地文件存储【文件的名字可以在配置文件里自定义】,并且停机后重启会先把本地的存储提取到内存里,因为是定时的,所以最后一次保存之后的数据会丢失

    • RBD模式是最常用的,在配置文件里叫dump.rbd,开启持久化的方式是在配置文件里添加
    # sava 时间 次数,可以配置多个
    save 60 5  # 在60s内执行5次保存或者更新就会执行一次持久化
    save 1000 10000 # 同上
    ...
    
    • AOF,也是需要配置,查看【狂神redis】的第29集

    缓存问题

    • 穿透,一般情况下redis的数据是不对应mysql的,是redis里没有再去查mysql,mysql有再把数据存入redis,这样所有没有的数据都会被穿透
    • 击穿,穿透并不是问题,但是高并发的穿透就会让mysql死机,解决方案是redis提前把mysql的数据存好【预加载数据技术】,并且不设置过期,所有redis没查到的数据全部拦住
    • 雪崩,就是指很多的攻击到达了redis,redis被击穿后死机,所有相关服务都会因为redis的死机失去作用然后集体死机,解决方法是redis主从和集群
  • 相关阅读:
    【转】如何高效地阅读技术类书籍与博客
    测试站点大全
    【转】软件测试面试- 购物车功能测试用例设计
    div+css 定位浅析
    C# Enum,Int,String的互相转换
    sqlserver 空间数据类型
    系统学习sqlserver2012 一
    sql查询数据库中所有表的记录条数,以及占用磁盘空间大小。
    linux网站推荐
    匿名用户访问sharepoint2010中的列表
  • 原文地址:https://www.cnblogs.com/pengdt/p/12304230.html
Copyright © 2011-2022 走看看