Redis基础篇-02-Redis入门介绍

1. Redis入门介绍

1.1 是什么?

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

是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,被称为数据结构数据库。

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

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
  • Redis支持数据的备份,即master-slave模式的数据备份。

1.2 能干吗?

  • 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。

  • 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面

  • 模拟类似于HttpSession这种需要设定过期时间的功能

  • 发布、订阅消息系统

  • 定时器、计数器

比如: 博客哪些场景会用到redis:

  • 记录帖子的点赞数、评论数和点击数 (hash)。
  • 记录用户的帖子 ID 列表 (排序),便于快速显示用户的帖子列表 (zset)。
  • 记录帖子的标题、摘要、作者和封面信息,用于列表页展示 (hash)。
  • 记录帖子的点赞用户 ID 列表,评论 ID 列表,用于显示和去重计数 (zset)。
  • 缓存近期热帖内容 (帖子内容空间占用比较大),减少数据库压力 (hash)。
  • 记录帖子的相关文章 ID,根据内容推荐相关帖子 (list)。
  • 如果帖子 ID 是整数自增的,可以使用 Redis 来分配帖子 ID(计数器)。
  • 收藏集和帖子之间的关系 (zset)。
  • 记录热榜帖子 ID 列表,总热榜和分类热榜 (zset)。
  • 缓存用户行为历史,进行恶意行为过滤 (zset,hash)。
  • 数据推送去重Bloom filter
  • pv,uv统计

1.3 去哪下?

  1. http://redis.io/

  2. 中文版本 http://www.redis.cn/

  3. 历史版本 http://download.redis.io/releases/

1.4 怎么玩?

  • 数据类型,基本操作和配置
  • 持久化和复制,RDB/AOF
  • 事务的控制
  • 复制

2. Redis下载安装

  1. 下载获得redis-3.0.4.tar.gz后将它放入我们的Linux目录/root/opt目录下,解压命令:tar-zxvf redis-3.0.4.tar.gz
  2. 解压完成后出现文件夹:redis-3.0.4
    在redis-3.0.4目录下执行make命令

如果make出现错误
Redis基础篇-02-Redis入门介绍_第1张图片
make执行成功之后再执行一下 make install
Redis基础篇-02-Redis入门介绍_第2张图片
注意 : 原始的初始化文件咱们不动,咱们可以在根目录下创建一个文件夹
myredis 然后把初始化配置文件拷贝进里面,修改一下
Redis基础篇-02-Redis入门介绍_第3张图片
改成后台启动 ,然后进入/usr/local/bin/ 指定配置启动
Redis基础篇-02-Redis入门介绍_第4张图片

3. Redis启动后的杂项基础知识详解

3.1 详解

单进程模型来处理客户端的请求。对读写等时间的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率

Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只少量活跃情况下的系统CPU利用率。

默认16个数据库,类似数组下表从零开始,初始默认使用零号库
Redis基础篇-02-Redis入门介绍_第5张图片
使用select 数字 切换库 0代表第一个库

在这里插入图片描述
使用dbsize查看当前库的key有多少 可以使用tab键,会自动补全
在这里插入图片描述
查看所有key 使用命令keys *
Redis基础篇-02-Redis入门介绍_第6张图片

3.2 简记:

  • Select命令切换数据库
  • Dbsize查看当前数据库的key的数量
  • Flushdb:清空当前库
  • Flushall:通杀全部库
  • 同一密码管理,16个库都是同样密码,要么都ok要么一个也连不上
  • Redis索引都是从零开始
  • 为什么默认端口是6379?
    6379在是手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字。MERZ长期以来被Redis作者antirez及其朋友当作愚蠢的代名词。后来Redis作者在开发Redis时就选用了这个端口。

你可能感兴趣的:(Redis-基础篇,redis)