Redis---B站学习---redis入门简介

Redis—B站学习—redis入门简介

一、Redis是什么

  1. Redis:REmote DIctionary Server(远程字典服务器)
  2. 是完全开源免费的,用C语言编写的,遵守BSD协议,
    是一个高性能的(key/value)分布式内存数据库,基于内存运行
    并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,
    也被人们称为数据结构服务器
  3. Redis 与其他 key - value 缓存产品有以下三个特点:
    1. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
    2. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
    3. Redis支持数据的备份,即master-slave模式的数据备份

二、Redis能做什么

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

三、Redis去哪下

  1. 找官网

四、Redis怎么用

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

五、Redis安装

  1. 在redis目录下执行make命令,运行make命令时故意出现的错误解析:
    1. 安装gcc:
      gcc是linux下的一个编译程序,是C程序的编译工具。
      GCC(GNU Compiler Collection) 是 GNU(GNU’s Not Unix) 计划提供的编译器家族,它能够支持 C, C++, Objective-C, Fortran, Java 和 Ada 等等程序设计语言前端,同时能够运行在 x86, x86-64, IA-64, PowerPC, SPARC 和 Alpha 等等几乎目前所有的硬件平台上。鉴于这些特征,以及 GCC 编译代码的高效性,使得 GCC 成为绝大多数自由软件开发编译的首选工具。虽然对于程序员们来说,编译器只是一个工具,除了开发和维护人员,很少有人关注编译器的发展,但是 GCC 的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。
      1. 能上网:yum install gcc-c++
      2. 不上网:
    2. 二次make
    3. jemalloc/jemalloc.h:没有那个文件或目录,运行make distclean之后再make
    4. Redis Test(可以不用执行)
  2. 如果make完成后继续执行make install
  3. 查看默认安装目录:usr/local/bin
    1. redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何服务启动起来后执行
    2. redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
    3. redis-check-dump:修复有问题的dump.rdb文件
    4. redis-cli:客户端,操作入口
    5. redis-sentinel:redis集群使用
    6. redis-server:Redis服务器启动命令
  4. 启动
    1. 修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动
    2. 将默认的redis.conf拷贝到自己定义好的一个路径下,比如/myconf (备份一个,操作还是自己复制一个)
    3. 启动:redis-server /Users/apple/Downloads/redis6.0.5_1/redis.conf (redis-server Redis目录/redis.conf,启动就是加载redis的配置文件)
    4. 连通测试(ping)
      /usr/local/bin目录下运行redis-server,运行拷贝出存放了自定义conf文件目录下的redis.conf文件
  5. 关闭
    1. 单实例关闭:redis-cli shutdown
    2. 多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown

六、Redis杂项知识

  1. Redis速度很快,单进程
    1. 单进程模型来处理客户端的请求。对读写等事件的响应是通过对Linux的epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率
    2. epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
  2. 默认16个数据库,类似数组下表从零开始,初始默认使用零号库
    设置数据库的数量,默认数据库为0,可以使用SELECT 命令(select 0)在连接上指定数据库id ,databases 16(默认16个数据库)
    在这里插入图片描述
  3. select命令切换数据库: select 0,切换到0数据库
  4. dbsize查看当前数据库的key的数量:查看所有键,keys *
  5. flushdb:清空当前库
  6. Flushall;通杀全部库
  7. 统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上
  8. Redis索引都是从零开始
  9. 为什么默认端口是6379
    # Accept connections on the specified port, default is 6379 (IANA #815344).
    # If port 0 is specified Redis will not listen on a TCP socket.
    port 6379
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值