redis 学习(1)-- redis 安装与启动

redis 特性

关于 redis 的介绍网上已经有很多信息了,这里我就不在详细说明了。介绍一下几个鲜明特性:

1.速度快
  • 官方称可以达到10W的qps
  • 将数据存储在内存中
  • 由C语言编写
  • 线程模型为单线程
2.持久化
  • Redis将所有数据保持在内存中,并异步更新到磁盘上
3.支持多种数据结构
  • String
  • Hash
  • List
  • Set
  • ZSet
  • BitMap(位图)
  • HyperLogLog(超小的内存唯一值计数器)
  • GEO(地理信息定位)
4.支持多种编程语言
5.功能丰富
  • 支持类MQ的发布订阅功能
  • 支持Lua脚本
  • 支持事务
  • 支持pipeline
6.非常简单
  • Redis 3.0的单机核心代码只有2300行代码
  • 单线程模型
7.支持主从复制
8.高可用、分布式

redis 安装

推荐在 linux 环境下安装,redis 作者并没有做 Windows 环境下的兼容,虽然微软官方有解决方案,但是难免会出现一系列未知的问题,这里我以使用 redis 3.0.7 版本为例,介绍 Linux 下 redis 的安装。

  • 下载 redis 压缩文件(我自己是放到 /opt/soft 目录下)

    wget http://download.redis.io/releases/redis-3.0.7.tar.gz
  • 解压压缩文件

    tar -xzf redis-3.0.7.tar.gz
  • 建立软链接(便于目录管理,后期升级和维护)

    ln -s redis-3.0.7 redis
  • 移动到 redis 目录

    cd redis
  • 安装

    make && make install

在命令行中执行上述命令,等待安装完成。


redis 可执行文件说明

安装结束后,我们移动到 redis/src 目录下,可以看到一些 redis 可执行文件:

ls | grep redis-

名称 作用
redis-server 启动 redis 服务器
redis-cli redis 命令行客户端
redis-benchmark redis 性能测试工具
redis-check-aof AOF 文件修复工具
redis-check-dump RDB 文件检查工具
redis-sentinel Sentinel 服务器(2.8以后)

三种启动方式比较

redis 启动有三种方式:

  • 最简启动
  • 动态参数启动
  • 配置文件启动
最简启动
redis-server

该启动方式将使用 redis 的默认配置。

默认使用端口 6379 ,日志信息直接打印在屏幕上。

验证:

ps -ef | grep redis
netstat -antpl | grep redis
redis-cli -h ip -p port ping

redis命令行客户端 连接 redis 服务器进行验证

同样的,我们不加参数,使用最简启动时客户端还是会连接默认端口:

动态参数启动

我们指定端口号启动 redis:

redsi-server --port 6380

同样的还是在前台打印出了日志信息,并且端口号变为了指定的 6380。

我们进行验证,依旧可以进行操作:

redis-cli -p 6380

查看进程:

ps -ef | grep redis-server | grep -v grep

配置文件启动

在日常的开发使用中,我们一般都是采用配置启动的方式,因为涉及到很多配置参数,明显配置文件启动才更符合我们的需求。

步骤如下:

  1. 在 redis 目录下建立一个 config 目录,用来存放配置文件。将 redis.conf 拷贝到该目录。

    mkdir config
    cp redis.conf conf/
  2. 移动到 conf/ 目录,我们将 redis.conf 文件中去掉注释和空格的参数部分打印出来,并重定向到一个新的文件 redis-6381.conf ,然后删除 redis.conf

    cat redis-6381.conf | grep -v "#" | grep -v "^$" -> redis-6382.conf
    rm redis.conf
  3. 打开 redis-6381.conf 文件,我们可以看到很多配置参数,这里暂时不用去管那么多参数,我们保留下面几个参数即可。

    daemonize yes			  # 守护进程
    port 6381 # 端口号
    dir "/opt/soft/redis/data" # 工作目录
    logfile "6381.log" # 日志信息
  4. 返回 redis 目录,建立一个 data 目录。

  5. 使用下列命令启动 redis。

    redis-server conf/redis-6381.conf

    可以看到控制台什么都没返回,说明 redis 以守护进程的方式启动了。

  6. 查看进程是否存在。

    ps -ef | grep redis-server | grep 6381

  7. 查看日志是否存在。

    cat data/6381.log

  8. 关闭 redis。

    此时 redis 作为守护进程,我们可以使用下列命令关闭:

    kill -9 PID值

redis 学习(1)-- redis 安装与启动的更多相关文章

  1. (转)redis 学习笔记(1)-编译、启动、停止

    redis 学习笔记(1)-编译.启动.停止   一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先 ...

  2. zookeeper学习(零)_安装与启动

    zookeeper学习(零)_安装与启动 最近换了新的电脑,终于买了梦寐以求的macbook.最近也换了新的公司,公司技术栈用到了zookeeper.当然自己也要安装学习下.省的渣渣的我,被鄙视就麻烦 ...

  3. Redis入门篇(安装与启动)

    一.Redis介绍 Redis是NoSql的一种,在弄清楚Redis是个什么玩意之前,先了解下NoSql是什么.1.什么是NoSql NoSql,全名:Not Only Sql,是一种非关系型数据库, ...

  4. 【redis 学习系列】安装-配置-卸载Redis

    一.安装 wget http://download.redis.io/releases/redis-3.0.7.tar.gz tar -zxf redis-.tar.gz ln -s redis- r ...

  5. redis学习笔记-redis的安装

    Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...

  6. redis学习之——redis.conf配置(基本)文件学习

    # Redis configuration file example # Note on units: when memory size is needed, it is possible to sp ...

  7. Redis学习笔记~Redis主从服务器,读写分离

    回到目录 Redis这个Nosql的存储系统一般会被部署到linux系统中,我们可以把它当成是一个数据服务器,对于并发理大时,我们会使用多台服务器充当Redis服务器,这时,各个Redis之间也是分布 ...

  8. (Nginx学习一)安装和启动及对应文件夹介绍

    nginx 安装和启动及对应文件夹介绍 1 安装 官网下载nginx文件  http://nginx.org/en/download.html 解压即可 2 文件夹介绍 在解压后nginx压缩包后发现 ...

  9. Nginx 安装学习笔记(1.安装和启动)

    centos7 编译安装和启动.停止https://www.cnblogs.com/xingyunblog/p/9072553.html 一.安装nginx 1.下载 wget http://ngin ...

  10. MongoDB学习记录(一) - 安装、启动与建立数据库

    简要说明一个基本概念:MongoDB中的三要素:数据库(database).集合(collection)和文档(document). 文档:类似于JSON对象,由字段(field)和值(value)组 ...

随机推荐

  1. 3.开始使用Spring Cloud实战微服务

                     开始使用Spring Cloud实战微服务 3.1. Spring Cloud实战前提 3.1.1. 需要的技术储备 语言方面:可以使用Java.scala.Groo ...

  2. C++入门经典-例9.2-重载函数模板,求出字符串的最小值

    1:整形数和实型数编译器可以直接进行比较,所以使用函数模板后也可以直接进行比较,但如果是字符指针指向的字符串该如何处理呢?这时可以通过重载函数模板来实现.通常字符串需要库函数来进行比较,通过重载函数模 ...

  3. kafka 性能测试脚本

    [参考文章]:Kafka自带的性能测试脚本 1. 生产消息压测脚本 1.1 脚本及参数 bin/kafka-producer-perf-test.sh  --topic kafka-test-0 -- ...

  4. TCP时间戳选项Timestamp

    时间戳选项发送方在每个报文段中放置一个时间戳值.接收方在确认中返回这个数值,从而允许发送方为每一个收到的ACK计算RTT(我们必须说“每一个收到的ACK”而不是“每一个收到的报文段”,是因为TCP通常 ...

  5. mysql统计前24小时数据没有补0

    SELECT t1. HOUR HOUR, COUNT(t2. HOUR) count FROM ( SELECT DATE_FORMAT( HOUR), '%y-%m-%d %H' ) HOUR F ...

  6. SRS之RTMP的TCP线程(即监听线程)

    本文分析的是 SRS 针对 rtmp 的端口建立的 tcp 线程.具体建立过程: SRS之监听端口的管理:RTMP RTMP 的 TCP 线程中各个类之间 handler 的关系图 1. RTMP之T ...

  7. 对opencv读取的图片进行像素调整(1080, 1920) 1.cv2.VideoCapture(构造图片读取) 2.cv2.nameWindow(构建视频显示的窗口) 3.cv2.setWindowProperty(设置图片窗口的像素) 4.video_capture(对图片像素进行设置)

    1. cv2.VideoCapture(0) #构建视频抓捕器 参数说明:0表示需要启动的摄像头,这里也可以写视频的路径 2. cv2.nameWindow(name, cv2.WINDOW_NORM ...

  8. Android——NativeActivity - C/C++ Apk开发

    android基本的四大组件之一Activity,android开发的第一个hello world 创建的就是这个继承了Activity类的类,拥有对应的生命周期,由AMS维护,只需要重写父类对应的方 ...

  9. AngularJS unit test report / coverage report

    参考来源: http://www.cnblogs.com/vipyoumay/p/5331787.html 这篇是学习基于Angularjs的nodejs平台的单元测试报告和覆盖率报告.用到的都是现有 ...

  10. iOS UItextView监听输入特定字符跳转页面选择选项返回

    今天有朋友问我一个需求的实现,于是自己写了一个Demo简单的实现了一下: 需求是: 1>比如: 检测用户输入"A"字符串,跳转页面选择选项,将选择的选项放置textView里 ...