【leyou笔记】Redis介绍和安装

1.NoSql

NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

redis是目前非常流行的一款NoSql数据库。

常见的NoSql产品:

mongoDB、redis、Cassanadra、HBASE、HIVE、Neo4j

Redis介绍和安装

1.简介

特性:

  • 多种数据类型存储
    • 字符串类型
    • 散列表类型
    • 列表类型
    • 集合类型
    • 有序集合类型
  • 内存存储与持久化
    • 内存的读写速度远快于硬盘
    • 自身提供持久化内容
  • 功能丰富
    • 可用作缓存、队列、消息订阅/发布
    • 支持键的生存时间
    • 按照一定规则删除相应的键
  • 简单稳定
    • 比SQL而言更加简单
    • 不同语言的客户端丰富
    • 基于c语言开发,代码量只有3万多行

Redis与Memcahe的区别

Memcahe也是一种NoSql数据库

  • 实现上
    • redis:单线程
    • Memcache:多线程
  • 存储方式上
    • redis:支持数据持久化和主从备份,数据更安全
    • Memcache:数据存于内存,没有持久化功能
  • 功能上
    • redis:除了基本的k-v结构外,支持多种其他复杂结构、事务等高级功能
    • Memcache:只支持基本k-v结构
  • 从可用上
    • redis:支持主从备份、数据分片、哨兵监控
    • Memcache:没有分片功能,需要客户端支持

2.安装

Redis官网: https://redis.io/

  1. 下载安装包并上传到虚拟机/home/leyou目录下

  2. 解压

     tar -xvf redis-5.0.5.tar.gz
    
  3. 修改名称

     mv redis-5.0.5/ redis
    
  4. 编译安装

     cd redis
     make && make install
    
  5. 修改配置文件

    vim /home/leyou/redis/redis.conf
    

    取消绑定本机,注释掉bind 127.0.0.1(只能在本机访问)

    将保护模式去掉,设置protected-mode no(否则不能远程访问)

    开启后台启动,设置daemonize yes

  6. 启动redis

    redis-server /home/leyou/redis/redis.conf
    
  7. 测试是否启动成功

    redis-cli -h 主机地址 -p 端口号
    

    只输入redis-cli默认位localhost下的6379

    输入PING返回 PONG表示成功

    上述只是单机安装

  8. 设置开机启动

    https://my.oschina.net/sdlvzg/blog/1613420

    vim /etc/init.d/redis
    

    添加以下开机启动脚本

    修改安装目录地址和配置文件地址

    #!/bin/sh
    # chkconfig: 2345 10 90  
    # description: Start and Stop redis   
    
    REDISPORT=6379
    EXEC=/home/leyou/redis/src/redis-server
    CLIEXEC=/home/leyou/redis/src/redis-cli
    
    PIDFILE=/var/run/redis_${REDISPORT}.pid
    CONF="/home/leyou/redis/redis.conf"
    
    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                    echo "$PIDFILE exists, process is already running or crashed"
            else
                    echo "Starting Redis server..."
                    $EXEC $CONF &
            fi
            ;;
        stop)
            if [ ! -f $PIDFILE ]
            then
                    echo "$PIDFILE does not exist, process is not running"
            else
                    PID=$(cat $PIDFILE)
                    echo "Stopping ..."
                    $CLIEXEC -p $REDISPORT shutdown
                    while [ -x /proc/${PID} ]
                    do
                        echo "Waiting for Redis to shutdown ..."
                        sleep 1
                    done
                    echo "Redis stopped"
            fi
            ;;
        restart)
            "$0" stop
            sleep 3
            "$0" start
            ;;
        *)
            echo "Please use start or stop or restart as first argument"
            ;;
    esac
    

    修改配置文件

    chmod 755 /etc/init.d/redis
    
    
    chkconfig --add /etc/init.d/redis
    
    

    开机启动

    chkconfig redis on
    
    

版权声明:本文为weixin_42059368原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。