zoukankan      html  css  js  c++  java
  • Redis介绍

    一Redis介绍

    (一)特点及有点

    1. 开源的,使用C编写,基于内存且支持持久化
    2. 高性能的Key-Value的NoSQL数据库
    3. 支持数据类型丰富,字符串strings,散列hashes,列表lists,集合sets,有序集合sorted sets 等
    4. 支持多种编程语言(C C++ Python Java PHP ... )

    (二)与其他数据库对比

    1. MySQL : 关系型数据库,表格,基于磁盘,慢
    2. MongoDB:键值对文档型数据库,值为JSON文档,基于磁盘,慢,存储数据类型单一
    3. Redis的诞生是为了解决什么问题??  # 解决硬盘IO带来的性能瓶颈

    (三)应用场景

    • 使用Redis来缓存一些经常被用到、或者需要耗费大量资源的内容,通过这些内容放到redis里面,程序可以快速读取这些内容
    • 一个网站,如果某个页面经常会被访问到,或者创建页面时消耗的资源比较多,比如需要多次访问数据库、生成时间比较长等,我们可以使用redis将这个页面缓存起来,减轻网站负担,降低网站的延迟,比如说网站首页等

    (四)诞生历程

    1、历史
      LLOOGG.com 帮助别的网站统计用户信息,各个网站发送的浏览记录都会存储到存储队列,5-10000条记录,多余5条需要收费
    2、原理
      FIFO机制,先进先出,满了进一条就出一条,网站越多,队列越多,推入和弹出操作越多
    3、技术及问题
      开始使用MySQL进行硬盘读写,速度很慢,导致无法实时显示,所以自己写了一个列表结构的内存数据库,程序性能不会受到硬盘IO的限制,加了持久化的功能
    4、redis数据库戛然而生
      # 为了解决负载问题,所以发明了redis

    (五)Redis附加功能

    1、持久化
      将内存中数据保存到磁盘中,保证数据安全,方便进行数据备份和恢复
    2、过期键功能
      为键设置一个过期时间,让它在指定时间内自动删除
      <节省内存空间>
      # 音乐播放器,日播放排名,过期自动删除
    3、事务功能
      原子的执行多个操作
    4、主从复制
    5、Sentinel哨兵

    二安装

    (一)Ubuntu

    安装
      sudo apt-get install redis-server
    服务端启动
      sudo /etc/init.d/redis-server status | start | stop | restart
    客户端连接
      redis-cli -h IP地址 -p 端口
      redis-cli # 默认连接本机的6379端口
      127.0.0.1:6379>ping
      PONG

    (二)Windows

    1、下载安装包
       https://github.com/ServiceStack/redis-windows/blob/master/downloads/redis-64.3.0.503.zip
    2、解压
    3、启动服务端
       双击解压后的 redis-server.exe
    4、客户端连接
       双击解压后的 redis-cli.exe
        
    问题:关闭终端后服务终止
    解决:将Redis服务安装到本地服务
    1、重命名 redis.windows.conf 为 redis.conf,作为redis服务的配置文件
    2、cmd命令行,进入到redis-server.exe所在目录
    3、执行:redis-server --service-install redis.conf --loglevel verbose
    4、计算机-管理-服务-Redis-启动

    卸载
    到 redis-server.exe 所在路径执行:
    1、redis-server --service-uninstall
    2、sc delete Redis

    三配置文件详解

    (一)配置文件所在路径

    1、Ubuntu
        /etc/redis/redis.conf


    2、windows 下载解压后的redis文件夹中
        redis.windows.conf
        redis.conf

    (二)设置连接密码

    1、requirepass 密码
    2、重启服务
       sudo /etc/init.d/redis-server restart
    3、客户端连接
       redis-cli -h 127.0.0.1 -p 6379 -a 123456
       127.0.0.1:6379>ping

    (三)允许远程连接 sudo vi /ect/redis/redis.conf

    1、# 注释掉IP地址绑定69行
       bind 127.0.0.1
    2、# 关闭保护模式(默认开始,不允许外部网络访问)88行(把yes改为no)
       protected-mode no
    3、# 重启redis服务
       sudo /etc/init.d/redis-server restart

    (四)远程连接测试

    Windows连接Ubuntu的Redis服务

    # cmd命令行
    1、d:
    2、cd Redis3.0
    3、redis-cli -h x.x.x.x -a 123456
    4、x.x.x.x:6379>ping

  • 相关阅读:
    图片轮播
    swoole 内存泄露的问题有没有好的办法解决
    学习Swoole需要掌握哪些基础知识
    通过SSH通道来访问MySQL
    redis常见应用场景
    Redis 消息队列的实现
    PHP-Curl模拟HTTPS请求
    代码重构方向原则指导
    win8.1系统相关
    SQL Server 学习系列之六
  • 原文地址:https://www.cnblogs.com/maplethefox/p/11306938.html
Copyright © 2011-2022 走看看