Redis 入门介绍

一、Redis 概述

  1. Redis:REmote DIctionary Server(远程字典服务器),是完全开源免费的,用 C 语言编写的,遵守 BSD 协议,是一个高性能的(key / value)分布式内存数据库,基于内存运行并支持持久化的 NoSQL 数据库,是当前最热门的 NoSQL 数据库之一,也被人们称为数据结构服务器
  2. Redis 与其他 key-value 缓存产品有以下三个特点
    (1) Redis 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
    (2) Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list、set、zset、hash 等数据结构的存储
    (3) Redis 支持数据的备份,即 master-slave 模式的数据备份
  3. Redis 的作用
    (1) 内存存储和持久化:Redis 支持异步将内存中的数据写到硬盘上,同时不影响继续服务
    (2) 取最新 N 个数据的操作,如:可以将最新的10 条评论的 ID 放在 Redis 的 List 集合里面
    (3) 模拟类似于 HttpSession 这种需要设定过期时间的功能
    (4) 发布、订阅消息系统
    (5) 定时器、计数器
  4. 下载:
    (1) http://redis.io/
    (2) http://www.redis.cn/

二、Redis 基本安装和使用

  1. 在 Windows 下安装 Redis 参考百度(因为企业里面做 Redis 开发,99% 都是 Linux 版的运用和安装,几乎不会涉及到 Windows 版)
  2. 在 Linux 下安装 Redis
    (1) 用 root 用户登录 Linux 系统,执行以下命令
    cd /opt
    # 创建 redis 目录
    mkdir redis 
    cd redis
    # 下载 Redis 压缩包
    wget http://download.redis.io/releases/redis-3.2.4.tar.gz
    # 解压
    tar -zxvf redis-3.2.4.tar.gz
    cd redis-3.2.4
    # 编译
    make
    
    (2) 若 make 没有安装成功,显示:gcc: 命令未找到,因为 Redis 是 C 语言写的,所以需要安装 gcc 编译器,在有网条件下,新打开一个终端,执行如下命令
    yum install -y gcc-c++
    
    (3) 安装完 gcc 之后,再次执行 make,然后又出现 " jemalloc/jemalloc.h:没有那个文件或目录 " 的错误,再执行如下命令
    make distclean
    
    (4) 再次 make,便可安装成功,最后会提示是否需要 make test,不用管
    (5) 最后再来一下 make install(辅助作用,可以不执行)

三、Redis 的 HelloWorld

  1. cd /
    # 在根目录下新建文件夹 myredis
    mkdir myredis
    # 将 redis 配置文件复制到 myreids 下,不动源文件
    cp /opt/redis/redis-3.22.4/redis.conf /myredis
    cd myredis/
    vim redis.conf
    
    # 将 daemonize no 改为 daemonize yes
    # 保存退出
    :wq
    
    # 启动 redis
    cd /usr/local/bin
    redis-server /myredis/redis.conf
    redis-cli -p 6379
    # 输入 ping 出现 PONG 即启动完毕
    
    # 退出 redis 
    127.0.0.1.6379> SHUTDOWN
    not connected> exit
    

四、Redis 启动后的杂项基础知识

  1. 测试 Redis 运行能力:在 Redis 启动的情况下,新打开一个终端,进入/usr/local/bin,执行 redis-benchmark 即可
  2. 单线程:
    (1) 单进程模型来处理客户端的请求。对读写等事件的响应是通过对 epoll 函数的包装来做到的,Redis 的实际处理速度完全依靠主进程的执行效率
    (2) Epoll 是 Linux 内核为处理大批量文件描述符而做了改进的 epoll,是 Linux 下多路复用 IO 接口 select / poll 的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率
  3. 默认是 16 个数据库,类似数组下标从 0 开始,初始默认使用零号库
    (1) select 命令切换数据库。eg:select 3 即可切换到 4 号库,会显示 127.0.0.1.6379[4]>
    (2) DBSIZE 查看当前数据库的 key 数量
    (3)keys * 列出所有 key 的名称,还支持通配符。eg:keys k?keys k*
    (4) FLUSHDB:清空当前数据库
    (5) FLUSHALL:清空所有数据库
    (6) 统一密码管理,16 个库都是同样的密码,要么都 OK,要么一个也别连上
    (7) Redis 索引都是从 0 开始
    (8) 默认端口是 6379
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值