当前位置: 首页 > news >正文

nosql--redis

nosql--不仅仅是sql,是所有非关系型数据库的统称

常用的NOSQL产品

  1. redis [企业使用频率很高]

  2. mongodb

  3. hbase [适合大数据]

redis

redis可以用作数据库,缓存和消息代理,而且里面可以存储多种数据类型,提供了高可用机制

安装redis

redis是基于c语言开发,所以必须安装c的环境

1.安装redis需要的环境。yum install -y gcc-c++

2.上官网下载redis源码安装包。 --redis-5.0.8.tar.gz

3.将源码放入centos中并解压 --tar -zxvf 解压的文件名

4.进入解压后的文件夹内 --cd redis-7.2.3

5.编译安装 --make install

6.安装成功后在redis的目录内就可以启动了 --redis-server redis.conf

客户端连接redis服务器

redis-cli -h redis服务器的IP -p端口号 ||端口号在启动后的信息中找Port有显示,默认为6379

-h 和 -p可以省略,只输入redis-cli默认为连接123.0.0.1端口为6379

redis支持的数据类型

redis支持的数据类型很多,使用最频繁的: String字符串,Hash,List队列,Set集合,ZSet有序集合等。

常用的redis命令

更多命令上官网查看:redis命令手册

key操作命令

keys *:查看所有key

del key ... :删除指定的key

expire key second:为指定的key设置过期时间

exists key:判断指定的key是否存在

数据库命令

select n:选择库

flushdb:清空当前库

flushall:清空所有库。

字符串类型(value的类型为字符串类型。默认可以存放512M大小的字符串内容)

value的类型为字符串类型。默认可以存放512M大小的字符串内容。

  1. set key value: 存放字符串类型的数据

  2. get key: 获取指定key对应的value值。

  3. setex key second value: 存放字符串类型的数据并设置过期时间。

  4. setnx key value: 如果指定的key存在,则不设置。不存在则放入数据。

  5. incr key: 为指定的key递增

  6. decr key: 为指定的key递减

Hash类型(value值为Hash数据类型。 Hash的value又是key-value形式)

  1. hset key field value: 存储哈希类型的数据

  2. hget key field: 获取存在哈希表中指定字段的value值

  3. hgetall key: 获取在哈希表中指定key的所有字段和值

  4. hkeys key: 获取所有哈希表中的字段

  5. hvals key: 获取哈希表中所有的值

  6. hexists key field:查询哈希表key中,指定的字段是否存在

list类型(list表示列表类型,value的值为list类型)

  1. lpush key value value ....: 将一个或多个值插入到列表的头部。

  2. lrange key start end: 获取列表指定范围内的元素

  3. linsert key before|after element value: 在列表元素前或后插入元素

  4. lpop key: 移除并获取列表中的第一个元素

  5. lset key index value: 修改指定下标的值 

set集合(无序且不可重复的集合)

sadd key element element ...:向集合添加一个或多个元素

smembers key: 返回集合中的所有元素

srem key : 移除集合中一个或多个元素

sinter key key..: 返回指定集合间的交集

zset集合(有序且元素不可重复的集合,排序跟属性的scord有关)  

zadd key score value score value score value: 向有序集合添加一个或多个成员,或更新已存在成员的分数

zrange key start end: 返回有序集合指定区间内的成员,通过索引,分数从低到高

zrevrange key start end: 返回有序集合指定区间内的成员,通过索引,分数从高到底

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 100个python的基本语法知识【上】
  • 2019年9月全国英语等级考试第三级笔试真题
  • 接口自动化测试框架实战-4-日志方法封装
  • 大屏数据看板一般是用什么技术实现的?
  • LC617-合并二叉树
  • 【11】微服务链路追踪SkyWalking
  • Django cursor()增删改查和shell环境执行脚本
  • 分享从零开始学习网络设备配置--任务6.1 实现计算机的安全接入
  • 【数据治理】隐私计算:数据治理中的安全守护者
  • 【Spring Boot 自定义配置项详解】
  • 操作系统:文件
  • SQL Server查询计划阅读及分析
  • 【c++刷题笔记-动态规划】day45: 115.不同的子序列 、583. 两个字符串的删除操作 、 72. 编辑距离
  • Chat-REC——基于 LLM 的推荐系统算法解析
  • Android SurfaceFlinger——创建EGLContext(二十六)
  • [ JavaScript ] 数据结构与算法 —— 链表
  • extjs4学习之配置
  • Gradle 5.0 正式版发布
  • PAT A1092
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • Vue.js 移动端适配之 vw 解决方案
  • 阿里云购买磁盘后挂载
  • 从伪并行的 Python 多线程说起
  • 从重复到重用
  • 分布式事物理论与实践
  • 技术:超级实用的电脑小技巧
  • 软件开发学习的5大技巧,你知道吗?
  • 思维导图—你不知道的JavaScript中卷
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 学习使用ExpressJS 4.0中的新Router
  • 一个完整Java Web项目背后的密码
  • gunicorn工作原理
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ‌JavaScript 数据类型转换
  • (10)STL算法之搜索(二) 二分查找
  • (3)(3.5) 遥测无线电区域条例
  • (C++)八皇后问题
  • (C++17) optional的使用
  • (day18) leetcode 204.计数质数
  • (day6) 319. 灯泡开关
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (pycharm)安装python库函数Matplotlib步骤
  • (搬运以学习)flask 上下文的实现
  • (二)原生js案例之数码时钟计时
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)计算机毕业设计高校学生选课系统
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET序列化 serializable,反序列化
  • /bin/rm: 参数列表过长"的解决办法
  • @AliasFor 使用
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析