初识Redis

290 阅读2分钟

Redis是什么

  1. 开源
  2. 基于建值得存储服务系统
  3. 多种数据结构
  4. 高性能,功能丰富

Redis的特性

  1. 速度快

    1. 10W/S读写
    2. 数据存在内存
    3. c语言实现的
    4. 单线程
  2. 持久化

    1. Redis所有的数据保持在内存中,对数据的更新将异步地保存到磁盘中
  3. 多种数据结构

    1. String (字符串)
    2. Hash(哈希)
    3. List(列表)
    4. Set(集合)
    5. zset(sorted set:有序集合)
    6. BitMaps:位图
    7. HyperLogLog:超小内存唯一值计数
    8. CEO:地理信息定位
  4. 支持多种编程语言

  5. 功能丰富

    1. 发布订阅
    2. lua脚本
    3. 事务
    4. pipeline
  6. 简单

    1. 不依赖外部库
    2. 单线程模型
  7. 主从复制

    1. 从服务器(多)复制到主服务器上
  8. 高可用、分布式

Redis典型应用场景

  • 缓存系统

    • App Server
    • cache
    • Storage
  • 计数器

  • 消息队列系统

  • 排行榜

  • 社交网络

  • 实时系统

Redis可执行文件说明

  • redis-server → Redis服务器
  • redis-cli → Redis命令行客户端
  • redis-benchmark → Redis性能测试
  • redis-check-aof → AOF文件修复工具
  • redis-check-dump → RDB文件检查工具
  • redis-sentinel → Sentinel服务器

三种启动方式

  • 最简启动

    • redis-server

      • ps -ef | grep redis(查看redis进程)
  • 动态参数启动

    • redis-server --port 6380
  • 配置文件启动

    • redis-server configPath
  • 三种启动方式的比较

    • 生产环境选择配置启动
    • 单机多实例配置文件可以用端口区分开

Redis客户端连接

  • redis-cli -h ip -p 端口

Redis客户端返回值

  • 状态回复 : ping → PONG
  • 错误回复 : hget hello field → (error)WRONGTYPE Operation against
  • 整数回复 : incr hello → intager)1
  • 字符串回复:get hello → “world”
  • 多行字符串回复:mget hello foo → 1)“world” 2) “bar”

Redis常用配置

  • daemonize → 是否是守护进程(no|yes)
  • port → Redis对外端口号
  • logfile → Redis系统日志
  • dir → Redis工作目录

默认端口

6379