Redis学习笔记

什么是Redis

REmote DIctionary Server(远程字典服务器)

是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库。

特点:

  • 支持数据的持久化
  • 支持key-value、list、set、zset、hash等数据结构的存储
  • 支持数据备份,即master-salve模式的数据备份

能干什么

  1. 内存存储和持久化:redis支持异步将内存中数据写到硬盘上,同时不影响继续服务。
  2. 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面
  3. 模拟类似与HttpSession这种需要设定过期时间的功能
  4. 发布、订阅消息系统
  5. 定时器、计数器

其他

  • 单进程
  • 默认16个数据库,类似数组下标从零开始,初始默认使用零号库
  • select命令切换数据库
  • dbsize查看当前数据库的key的数量
  • flushdb:清空当前库
  • flushall:清空全部库
  • 统一密码管理:16个库都是同样密码,要么都OK要么一个也连接不上
  • redis索引都是从零开始
  • 默认端口是6379

常用五大数据类型

  1. String(字符串)
    • 是Redis最基本的类型,一个key对应一个value;
    • 是二进制安全的,即Redis的String可以包含任何数据,比如jpg图片或者序列化对象;
    • 是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M。
  2. Hash(哈希,蕾西java里的Map)
    • 是一个键值对集合
    • 是一个String类型的field和value的映射表,Hash特别适合用于存储对象
    • 类似Java里面的Map<String,Object>
  3. List(列表)
    • 是简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边)或尾部(右边)
    • 底层实际是一个链表
  4. Set(集合)
    • 是String类型的无序、无重复集合,它是通过HashTable实现的
  5. Zset(sorted set:有序集合)
    • 和set一样也是String类型元素的集合,且不允许重复的成员
    • 不同的是每个元素都会关联一个double类型的分数
    • Redis通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复

Redis常见数据类型操作命令

http://redisdoc.com/

应用场景

  1. 配合关系型数据库做高速缓存
    • 高频次,热门访问的数据,降低数据库IO
    • 分布式架构,做session共享
  2. 由于其拥有持久化能力,利用其多样的数据结构存储特定的数据
    • 最新N个数据(通过List实现按自然时间排序的数据)
    • 排行榜,Top N(利用zset(有序集合))
    • 时效性的数据,比如手机验证码(Expire 过期)
    • 计数器、秒杀(原子性,自增方法incr、decr)
    • 去除大量数据中的重复数据(利用set集合)
    • 构建队列(利用list列表)
    • 发布订阅消息系统(pub/sub模式)

windows使用cmd启动Redis

widows启动

  1. 打开cmd,进入redis目录,其中配置文件为 redis.windows.conf ,执行如下命令
    • redis-server redis.windows.conf
  2. 如果配置文件在其他目录下,配置文件所在路径:D:/reidsmy/redis6379.conf,执行如下命令
    • redis-server D:/reidsmy/redis6379.conf

进入redis命令行

  1. 再打开一个cmd,进入redis目录,执行如下命令
    • redis-cli.exe -h 127.0.0.1 -p 6379
    • 或执行 redis-cli -p 6379

Linux启动Redis

启动

  1. 备份redis.conf:拷贝一份redis.conf到其他目录,如移动到 /myredis/redis.conf
  2. 修改redis.conf文件,将里面的daemonize no 改成 yes,让服务在后台启动
  3. 启动命令:执行 redis-server /myredis/redis.conf
  4. 打开客户端:redis-cli
    • 多个端口可以: redis-cli -p 6379
    • 单个端口还可以:redis-cli 或 redis-cli -p 6379
    • *显示中文:redis-cli –raw 或 redis-cli -p 6379 –raw *
  5. 测试验证:ping

关闭服务器

  1. 单实例关闭:

    • redis-cli shutdown
    • 也可以进入终端后关闭

    关闭

  2. 多实例关闭:

    • 指定端口关闭:redis-cli -p 6379 shutdown

只关闭客户端和客户端

  1. 直接在客户端输入exit

    关闭

  2. 使用Ctrl+C快捷键

Redis目录结构

  1. redis-benchmark
    • 性能测试工具(服务启动起来后执行)
  2. redis-check-aof
    • 修复有问题的aof文件
  3. redis-check-dump
    • 修复有问题的dump.rdb文件
  4. redis-sentinel
    • redis集群使用(哨兵)
  5. redis-server
    • redis服务器启动命令
  6. redis-cli
    • redis客户端,操作入口

最后更新: 2020年07月17日 23:39

原始链接: http://ligangit.com/2020/07/14/Redis学习/

× 请我吃糖~
打赏二维码