zoukankan      html  css  js  c++  java
  • 与Redis的初次相识,Redis安装、启动与配置

    原文首发于博客园,作者:后青春期的Keats;地址:https://www.cnblogs.com/keatsCoder/ 转载请注明,谢谢!

    最近有幸为公司的项目中引入了Redis,可以在实战中学习是一件很幸福的事情。故在粗读《Redis深度历险:核心原理和应用实践》后,购入《Redis开发与运维》继续学习Redis。将学习过程中一些重点内容记录下来分享给各位小伙伴

    按照目前的学习情况及对Redis的认识,我打算理出来下面的知识结构。每个二级节点作为一篇独立博客。本篇是第一部分-Redis基础

    1585571520993

    Redis优点

    1. 速度快、为什么快?

      1. 数据在内存中
      2. 使用C语言编写,C语言和操作系统之间的路更短
      3. 单线程,避免的线程的调配与抢夺
      4. 作者编码水平高
    2. 基于键值对,很好理解

      Redis的键只支持String类型,值的类型有:String、hash、list、set、zset。以及由 String演变的 bitmaps HyperLogLog GEO 这些丰富的类型可以让我们开发者开发出很多有意思的应用

    3. 简单稳定

      Redis在3.0之前,代码只有2W行,3.0加了集群也只有5W行。随随便便一个后台管理系统的代码量(dog奈何是C语言,对于Javaer看源码成本稍微有些高)。而且是单线程模型,客户端开发很简单,Java客户端如著名的Jedis API和原生的API命名很类似,学习成本也不大。并且Redis已经在各大公司使用。足以说明其稳定性。

    4. 持久化

      作为内存数据库,有个痛点就是持久化的问题。总不能断电了数据就丢掉。Redis提供了RDB和AOF两种持久化方式,保证了数据的持久性

    5. 主从、哨兵、集群

      3.0版本后原生支持多机,很方便

    Redis不足

    1. Redis数据是存储内存中的,而内存的价格决定了它无法存储特别大规模的数据。
    2. 数据是由冷、热之分的。例如:商品信息和用户查看记录。商品信息属于热数据,每一个用户都可能查看;用户查看记录属于冷数据,只有他自己偶尔看一下。如果将冷数据存储到Redis中。可以说是对Redis极大的浪费。

    Redis安装

    Linux下安装Redis

    redis版本号中间的数字为奇数代表下一个偶数版本的开发版本。建议使用中间为偶数的稳定版。我这里使用 3.0.7 版本

    下载:

    wget http://download.redis.io/releases/redis-3.0.7.tar.gz
    

    如果提示找不到命令,使用 yum 安装 wget 命令: yum -y install wget

    解压:

    tar xzf redis-3.0.7.tar.gz
    

    建立Redis目录软连接。这样做是为了屏蔽Redis和版本号的关联,便于升级版本

    ln -s redis-3.0.7 redis
    

    安装:

    # 检查有没有安装 gcc,
    gcc -v
    # 如果是 commond not found 则没有安装,需要输入以下命令安装
    yum install gcc
    # 开始安装
    cd redis
    make # 编译
    make install # 安装
    

    启动Redis

    redis-server
    

    如果需要配置命令启动,可以通过以下的方式:

    redis-server --configKey1 v1 --cK2 v2
    

    生产环境一般建议将参数写到配置文件中,然后指定配置文件启动

    redis-server /opt/redis/redis.config # 配置文件的绝对路径
    

    Redis基础配置

    配置名 说明 提醒
    port 端口,默认6379
    logfile 日志文件 配置到xxx文件而不是目录
    dir Redis工作目录,存储日志文件和持久化文件

    Redis客户端

    redis-cli -h {host} -p {por
    t} # 默认是 127.0.0.1 6379
    

    关闭Redis

    shutdown

    ctrl -c 前台运行的话,关闭命令行

    不建议 kill -9 强制关闭,会来不及持久化,导致数据丢失

  • 相关阅读:
    Java NIO与IO
    linux命令
    windows的定时任务设置
    《软硬件接口》课程大纲
    使用SSIS对Dynamics CRM 系统进行数据迁移
    数据库设计中的14个技巧
    背景建模或前景检測之PBAS
    Leetcode 树 Populating Next Right Pointers in Each Node II
    QCon大会上推荐阅读的10本书
    cocos2d-x3.0 Slider
  • 原文地址:https://www.cnblogs.com/keatsCoder/p/12635967.html
Copyright © 2011-2022 走看看