• 数据库Redis(一):基础知识


    NoSQL数据库简介

    NoSQL,Not only SQL,泛指非关系型的数据库,不依赖业务逻辑方式存储,而以简单的 key-value 模式存储,极大地增加了数据库的扩展能力。
    1)不遵循SQL标准;
    2)不支持ACID(原子性、一致性、隔离性、持久性);
    3)远超于SQL的性能。

    NoSQL适用场景

    1. 对数据高并发的读写;
    2. 海量数据的读写;
    3. 对数据高可扩展性的读写。

    NoSQL不适用场景

    1. 需要事务支持;
    2. 基于SQL的结构化查询存储,处理复杂的关系,需要即席查询(用户根据自己需求来灵活地选择查询条件,系统根据用户的选择生成相应的统计报表);
    3. 用不着SQL 和 用了SQL也不行的情况,均可以考虑NoSQL

    Redis概述

    1. 开源的Key-Value存储系统;
    2. 支持更多的Value类型,包括字符串string、链表list、集合set、有序集合zset、哈希类型hash;
    3. 原子性操作,支持push/pop、add/remove、取交集/并集/差集等操作;
    4. 支持不同方式的排序;
    5. 为保证效率,数据缓存在内存中,Redis会周期性地把更新的数据写入磁盘,或把修改操作写入记录文件;
    6. 实现master-slave主从同步。

    Redis应用场景

    1. 配合关系型数据库做高速缓存;
    2. 多样的数据结构存储持久化数据

    Redis安装

    1. 在服务器准备c语言的编译环境gcc;
    2. Download | Redis 下载Redis的压缩包,并通过XFtp将压缩包上传至服务器端;
    3. 解压压缩包:tar -zxvf redis-7.2.0.tar.gz
    4. 进入 ./redis-7.2.0 目录下进行编译:make
    5. 编译成功后进行安装:make install
    Redis的默认安装目录:/usr/local/bin

    默认安装目录下文件说明:

    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:客户端,操作入口,可以直接通过 /usr/local/bin/redis-cli 启动redis

    后台启动

    1. 备份redis-7.2.0目录文件下的redis.conf文件:cp /opt/redis-7.2.0/redis.conf /etc/redis.conf
    2. 修改新备份文件:将后台启动设置 daemonize no 改成 yes
    3. Redis后台启动:redis-server /etc/redis.conf
    4. 查看redis进程:ps -ef | grep redis
    5. 用客户端访问:redis-cli

    Redis 单线程+多路IO复用

    多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和pull函数,传入多个文件描述符,如果有一个文件描述符就绪则返回,否则阻塞到超时。得到就绪状态后进行真正的操作,可以在同一个线程里执行,也可以启动线程执行(比如启用线程池)。

  • 相关阅读:
    Lightrun还可以这样用?
    母婴店做微信小程序开发的重要性
    推荐一个支持低代码开发的OA开源系统
    c#数组排列系列2
    这就是艺术,优雅的二维码生成器「GitHub 热点速览」
    生产事故-记一次特殊的OOM排查
    OpenCV学习(4.9) OpenCV中的轮廓
    【Vue】Router 方法使用
    浏览器缓存机制与分类(一)
    [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • 原文地址:https://blog.csdn.net/qq_33021529/article/details/133985902