• Redis的非关系型数据库


    第七天课堂笔记

    今日目标

    1. 非关系型数据库(nosql【not only SQL】数据库)

    2. Redis的非关系型数据库

    3. Redis的安装和配置

    4. Redis常见数据类型

    5. Redis特性

    nosql数据库

    not only sql数据库,非关系型数据库,往往采用类似于json来存储数据。

    结构化和非结构化的问题

    非结构化的数据,灵活多变,根据具体情况,可以对应灵活选择数据存储的结构

    结构化数据,往往固定不变。

    nosql数据库缺点:

    目前没有统一的标准,每一个nosql数据库都有存在不一样的语法结构,学习成本较高。

    Redis数据库

    Redis(remote dictionary server)远程字典服务,Redis中的数据采用KV键值对的方式存储的数据。

    官网网站:redis.io/

    Redis中文网:Redis中文网/

    Redis还是免费开源的数据库,但是注意它最新的开源协议,为了针对云服务器提供商。

    Redis的安装和配置

    Redis官方没有提供window版本的Redis安装包,Redis官方提供的仅仅是C语言源码包,Linux直接编译安装,window中就比较麻烦。

    17年之前,微软官方的开源组织帮助编译了一个window的安装包(在3.x版本之后,不再更新)。

    后期有github上一个个人开发者在编译window的安装包。

    如果使用.msi安装方法,直接下一步即可。

    如果采用压缩包:

    下载安装包,解压后,打开文件夹,内容如下:

    为了方便启动,我们在该目录下新建一个 startup.cmd 的文件,然后将以下内容写入文件:

    redis-server redis.windows.conf

    这个命令其实就是在调用 redis-server.exe 命令来读取 redis.window.conf 的内容,我们双击刚才创建好的 startup.cmd 文件,就能成功的看到 Redis 启动:

    或者另一种方法打开一个cmd窗口使用cd命令切换目录到redis目录下:

    输入启动命令:

    redis-server.exe redis.windows.conf

    在启动时候得另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了,切换到redis目录下运行

    redis-cli.exe -h 127.0.0.1 -p 6379

    Redis的配置

    Redis在启动时,会加载一个配置文件,该配置决定了Redis的大多数性能问题

    bind ip

    port 6379

    daemonize yes Linux存在,window中没有

    dbfilename dump.rdb

    dir ./

    requirepass 密码

    slaveof mastip mastport 5.0之前使用这个

    replicaof mastip mastport 5.0之后

    其他的一些重要的配置选项,大家要根据注释自己理解和使用。

    redis的特点

    Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串哈希表列表集合有序集合位图hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区

    redis的常见数据类型

    redis随着版本的升级,功能也在进一步的升级,很多好用、针对特定环境的数据都出现了,像经纬度等等,但是核心的数据主要存在五个,这五个数据类型也被称为Redis的基本数据类型。

    • 字符串

    • hash table

    • List

    • set

    • sorted set

    Redis中,key的类型都是字符串,值的类型可以是任何一种Redis支持的数据类型。

    字符串类型

    存储的值,类型是字符串

    • set key value

    • get key

    • setex key secode value

    • mset key value [key value ……]

    • mget key [key ……]

    • incr key key + 1

    • incrby key num key + num

    • decr key key - 1

    • decrby key num

    • append key value:将value的值拼接到x后面

    • strlen key:获取key对应的值的长度

    • setnx key value

    key相关的命令

    • keys pattern:查找键,支持正则

    • exists key:查找键是否存在,存在返回1,否则返回0

    • type key:查看键对应的值的类型

    • del key:根据key删除键值对

    • expire key seconds:给key设置过期时间

    • ttl key:查看键的有效时间

    • persist key

      select index

      move key

      dbsize

      Info

      flushdb

      flushall

      help

      ​ @类型

      ​ 命令

      ​ 指令

    hash类型

    • hset key field value

    • hget key field

    • hmset key field value [field value ]

    • hmget key field [field ]

    • hget key field :获取key对应的值

    • hmget key field [field]:获取多个key对应的value值

    • hgetall key:获取所有属性和值

    • hkeys key:获取所有的属性

    • hlen key:获取包含属性的个数

    • hvals key:获取所有的值

    • hexists key field:判断属性是否存在

    • hdel key field [field]:根据属性名称删除属性及值

    • hstrlen key field:返回值的字符串长度

    • hsetnx key value

    • hincrby key field value

    list列表

    set集合

    底层都是hash table实现的,哈希表的特性:无序的、不重复的

    zset集合

    底层就是hash tabl,对哈希表实现了一种包装,为每一个元素实现了权重

    Redis特性

  • 相关阅读:
    在量化交易过程中,散户可以这样做
    Linux命令(103)之du
    AI实战 | 手把手带你打造校园生活助手
    鸿蒙开发游戏(一)---大鱼吃小鱼(界面部署)
    Chromium CI/CD 之Jenkins实用指南2024-Windows安装篇(一)
    雌性激素豌豆白蛋白1b纳米粒|金刚烷牛血清白蛋白纳米粒Ad-BSA|阿奇霉素人血清白蛋白纳米粒Azithromycin-HSA
    android12.0(S) 如何区分U盘和TF卡
    模拟费用流总结
    如何快速找到华为手机中下载的文档
    六、回归与聚类算法 - K-means算法
  • 原文地址:https://blog.csdn.net/weixin_65476290/article/details/139274807