Java猿社区—Redis一篇系列—第二章、Redis入门和安装


欢迎关注作者博客
简书传送门

2、Redis入门和安装

2.1、Redis是什么?
  • Redis:REmote DIctionary Server(远程字典服务器)
  • 是完全开源免费的,用C语言编写的,遵守BSD协议,
    是一个高性能的(key/value)分布式内存数据库,基于内存运行
    并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,
    也被人们称为数据结构服务器
2.1.1、特性

  Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
  • Redis支持数据的备份,即master-slave模式的数据备份
2.2、能干嘛?
  • 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
  • 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面
  • 模拟类似于HttpSession这种需要设定过期时间的功能
  • 发布、订阅消息系统
  • 定时器、计数器
2.3、官方传送站
2.4、怎么玩?
  • 数据类型、基本操作和配置
  • 持久化和复制,RDB/AOF
  • 事务的控制
  • 复制
  • 待探索…
2.5、redis安装

  不过多介绍: 传送门
  主要文件:

  • redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何(服务启动起来后执行)
  • redis-check-dump:修复有问题的dump.rdb文件
  • redis-sentinel:redis集群使用
  • redis-server:Redis服务器启动命令
  • redis-cli:客户端,操作入口
  • redis-check-aof:修复有问题的AOF文件
2.6、redis杂项知识
  1. 单进程
  • 单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率;
  • epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,
  • 它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
  1. 默认16个数据库,类似数组下表从零开始,初始默认使用零号库
  2. select命令切换数据库
  3. dbsize查看当前数据库的key的数量
  4. flushdb:清空当前库
  5. Flushall;通杀全部库
  6. 统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上
  7. Redis索引都是从零开始
  8. 关闭操作:
  • 单实例关闭:redis-cli shutdown
  • 多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown
欢迎加入Java猿社区!
免费领取我历年收集的所有学习资料哦!

Java猿社区—Redis一篇系列—第二章、Redis入门和安装