• redis使用手册、入门


    Redis使用手册

    简介

    Redis:Remote DIctionary Server(远程字典服务)。

    是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。是完全开源免费的,用C语言编写的,遵守BSD协议,高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库。

    安装

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

    下载稳定版 redis-4.0.9.tar.gz

    安装步骤

    1. 解压 tar -zxvf redis-4.0.9.tar.gz

    2. 编译 进入cd redis-4.0.9 执行make (编译依赖gcc)

    3. (可不执行)安装 make PREFIX=/usr/local/redis install (PREFIX指定安装位置)

    4. 编译生成src下的二进制文件

      1. redis-server:Redis服务器
      2. redis-cli:Redis命令行客户端
      3. redis-benchmark:Redis性能测试工具
      4. redis-check-aof:AOF文件修复工具
      5. redis-check-rdb:RDB文件检查工具

    常用命令

    启动Redis服务 src/redis-server redis.conf

    daemonize no
    默认情况下,redis不作为守护进程运行。如果需要,请使用“yes”。
    注意,redis将在守护时在/var/run/redis.pid中写入一个pid文件。

    进入Redis客户端 src/redis-cli

    $src/redis-cli 
    # 字符串操作
    127.0.0.1:6379> set foo bar #设置key-value值
    OK
    127.0.0.1:6379> get foo #获取key值
    "bar"
    127.0.0.1:6379> exists key #判断键是否存在 存在返回1,否则返回0
    # 列表
    127.0.0.1:6379> rpush foo 1 2 3 4 #设置key值[1,2,3,4]
    (integer) 4
    127.0.0.1:6379> lrange foo 0 -1 #获取key所有值
    1) "1"
    2) "2"
    3) "3"
    4) "4"
    # 设置生存时间
    127.0.0.1:6379> expire foo 10 #设置key的生存时间(秒) pexpire(毫秒)
    (integer) 1
    127.0.0.1:6379> expireat foo 1568797570 #设置key过期时间(时间戳秒) pexpireat(毫秒)
    (integer) 1
    127.0.0.1:6379> ttl foo  #查看key的剩余生存时间(秒)
    (integer) 6              #6秒
    127.0.0.1:6379> ttl foo  #查看key的剩余生存时间
    (integer) -1             #key存在,没有设置生存时间
    127.0.0.1:6379> ttl foo  #查看key的剩余生存时间
    (integer) -2             #key不存在
    127.0.0.1:6379> get foo  #时间到了之后
    (nil)
    127.0.0.1:6379> select 1 #切换数据库
    127.0.0.1:6379> flushdb  #清空当前数据库数据
    127.0.0.1:6379> flushall #清空所有数据库数据
    127.0.0.1:6379> quit     #关闭连接

    关闭Redis服务

    1. redis-cli shutdown save:安全关闭(数据会持久化),但是只适用于没有配置密码的场景(一般情况下不会给Redis设置密码。)
    2. kill -9 pid:强制关闭,可能会造成Redis内存数据丢失。
    $src/redis-cli 
    127.0.0.1:6379> shutdown save
    not connected> quit

    redis.conf详解

    INCLUDES 引入

    同nginx中的用法一样,可以引入更多的配置文件,便于管理

    或是redis集群做一个通用的redis.conf,每台服务器自定义的设置可以通过include方式引入

    #如:把[daemonize yes]写在local.conf文件中,在redis.conf中引入,同样可以生效
    include local.conf

    如果将此配置写在redis.conf 文件的开头,那么后面的配置会覆盖引入文件的配置,如果想以引入文件的配置为主,那么需要将 include 配置写在 redis.conf 文件的末尾。

    MODULES 自定义模块

    redis3.0的爆炸功能是新增了集群,而redis4.0就是在3.0的基础上新增了许多功能,自定义模块配置就是其中之一。

    通过这里的 loadmodule 配置将引入自定义模块来新增一些功能。

    loadmodule /path/to/my_module.so

    NETWORK 网络

    1. bind: 绑定redis网卡IP,默认为127.0.0.1,只能通过本机的客户端连接,而无法通过远程连接。bind为空接受所有可用网络接口的连接。
    2. port: 指定redis运行的端口,默认是6379。由于Redis是单线程模型,因此单机开多个Redis进程的时候需要修改端口。
    3. timeout: 设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接。默认值为0,表示不关闭。
    4. tcp-keepalive: 单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是300s,如果设置为0,则不会周期性的检测。

    GENERAL 日志

    1. daemonize:设置为yes表示指定Redis以守护进程的方式启动(后台启动)。默认值为 no
    2. pidfile:配置PID文件路径,当redis作为守护进程运行的时候,它会把 pid 默认写到 /var/redis/run/redis_6379.pid 文件里面
    3. loglevel :定义日志级别。默认值为notice,有如下4种取值:
            debug(记录大量日志信息,适用于开发、测试阶段)
            verbose(较多日志信息)
            notice(适量日志信息,使用于生产环境)
            warning(仅有部分重要、关键信息才会被记录)
    4. logfile :配置log文件地址,默认打印在命令行终端的窗口上
    5. databases:设置数据库的数目。默认的数据库是DB 0 ,可以在每个连接上使用select  <dbid> 命令选择一个不同的数据库,dbid是一个介于0到databases - 1 之间的数值。默认值是 16,也就是说默认Redis有16个数据库。

    SNAPSHOTTING 持久化

  • 相关阅读:
    对比JAVA、Python、C、Go运行时间,我惊呆了!!!
    python中的“反射”
    leetcode最大子序和(python)
    Leetcode228. 汇总区间
    Leetcode204. 计数质数
    Leetcode867. 转置矩阵
    PAT(Advanced Level)A1051. Pop Sequence
    PAT(Advanced Level)A1098.Insertion or Heap Sort
    uniapp关于scroll-view中scroll-into-view的不生效的问题
    HBuilder X 未检测到手机或模拟器
  • 原文地址:https://www.cnblogs.com/pidgey/p/11810332.html
Copyright © 2020-2023  润新知