Redis入门介绍

Posted by Chenyawei on 2020-01-14
Words 945 and Reading Time 3 Minutes
Viewed Times

Redis入门介绍

Redis入门介绍

1. 是什么

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

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

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

2. 能干嘛

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

3. 去哪下

http://redis.io/
http://www.redis.cn/

4、怎么玩

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

5、Redis的安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
下载获得redis-3.0.4.tar.gz后将它放入我们的Linux目录/root
/opt目录下,解压命令:tar -zxvf redis-3.0.4.tar.gz
解压完成后出现文件夹:redis-3.0.4
在redis-3.0.4目录下执行make命令
运行make命令是故意出现的错误的解析:
安装gcc
能上网:yum install gcc-c++
不能上网:
二次make
Jemalloc/jemalloc.h:没有那个文件目录
运行make distclean之后再make
Redis Test(可以不用执行)
如果make完成后继续执行make install
查看默认安装目录:usr/local/bin
启动
redis-server
关闭
ctrl+c

5.1 查看默认安装目录:usr/local/bin

  • redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
  • redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
  • redis-check-dump:修复有问题的dump.rdb文件
  • redis-cli:客户端,操作入口
  • redis-sentinel:redis集群使用
  • redis-server:Redis服务器启动命令

5.2 启动

  • 修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动 redis-server redis.conf
  • 将默认的redis.conf拷贝到自己定义好的一个路径下,比如/myconf
  • 启动: redis-server /Users/chenyawei/myredis/redis.conf,运行拷贝出存放了自定义conf文件目录下的redis.conf文件
  • 连通测试:
  • image-20200120155956561

5.3 关闭

  • 单实例关闭:redis-cli shutdown
  • 多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown

6、Redis启动后杂项基础知识讲解

Redis是单进程的

  • 单进程模型来处理客户端的请求。对读写等时间的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率。
  • Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃情况下的系统CPU利用率。
  • 默认16个数据库,类似数组下表从零开始,初始默认使用零号库
  • Select命令切换数据库
  • Dbsize查看当前数据库的key的数量
  • Flushdb:清空当前库
  • Flushall:通杀全部库
  • 同一密码管理,16个库都是同样密码,要么都ok要么一个也连不上
  • Redis索引都是从零开始
  • 默认端口是6379

notice

欢迎访问 chenyawei 的博客, 若有问题或者有好的建议欢迎留言,笔者看到之后会及时回复。 评论点赞需要github账号登录,如果没有账号的话请点击 github 注册, 谢谢 !

If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !