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

Redis数据库基础

1.关系型数据库和NoSQL数据库

数据库主要分为两大类:关系型数据库与NoSQL数据库

关系型数据库,是建立在关系模型基础是的数据库,其借助集合代数等数学概念和方法来处理数据库中的数据主流的MySQL,Oracle,MS SQL Server 和DB2都属于这类传统数据库

NoSQL数据库,意思就是适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储。主要分为临时性键值存储(memcached,Redis),永久性键值存储(ROMA,Redis),面向文档的数据(MongDB,CouchDB),面向列的数据库(Cassandra,HBase),每种NoSQL都有其特有的使用场景及优点

2.redis介绍

Redis是一个开源的高性能键值对数据库,它通过提供多种键值数据类型来适应不同场景下的存储要求

Redis支持的键值数据类型

a.string(字符串):基本的数据存储单元,可以存储字符串,整数或者浮点数

b.hash(哈希):一个简单的列表,可以存储一系列的字符串元素

c.set(集合):一个无序集合,可以存储不重复的字符串元素

d.zset(sorted set:有序集合):类似于集合,但是每个元素都有一个分数(score)与之关联

e.位图(Bitmaps):基于字符串类型,可以对每个位进行操作

f.超日志(HyperLogLogs):用于基数统计,可以估算集合中的唯一元素数量

g.地理空间(Geospatial):用于存储地理位置信息

h.发布/订阅(Pub/Sub):一种消息通信模式,允许客户端订阅消息通道,并接受发布到该通道的消息

i.流(Streams):用于消息队列和日志存储,支持消息的持久化和时间排序

redis特点

性能价高,丰富的数据类型,原子性,数据持久化,支持publish/subscribe通知,key过期

3.Redis安装

Redis官网:

https://redis.io

3.1安装redis

3.1.1参看rhel9仓库自带的rpm包

[root@redis-master ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 9.1 (Plow)

3.1.2yum安装redis

[root@redis-master ~]# yum install redis  -y

3.1.3启动redis

[root@redis-master ~]# systemctl start redis

3.1.4连接redis

[root@redis-master ~]# redis-cli  -p 6379

3.1.5测试是否连接成功

[root@redis-master ~]# redis-cli -p 6379
127.0.0.1:6379> ping
PONG

4.key操作

Redis是一个开源的高性能键值对数据库,Redis的基础数据结构主要包括5种数据类型,分别是:String,List,Set,Zset,Hash

字符串类型(string)

散列类型(hash,哈希)

列表类型(list)

集合类型(set)

有序集合类型(sorted set)

redis默认有16个数据库,为0-15,可以选择数据库:

127.0.0.1:6379> select 0
OK
#########对于库的其他操作######
FLUSHDB  #清空当前数据库里面所有的key 
FLUSHALL #清空所有数据库里面所有的key

redis上的不同类型的key的创建上传命令不同,下面仅仅以string类型演示:

序号命令语法描述
1DEL key该命令用于在key存在时删除key
2SET key value添加或者修改key的值
3GET key获取指定key的值
4TYPE key返回key所存储的值的类型
5EXPIRE key seconds为给定key设置过期时间,以秒计
6PERSIST key移除key的过期时间,key将持久保存
7TTL key以秒为单位,返回给定key的剩余生存时间
8EXISTS key检查给定是否存在,存在返回1,否则返回0
9MOVE key db将当前数据库的key移动到给定的数据库db当中
10KEYS pattern查找所有符合给定模式(pattern)的key

示例:

#切换Redis数据库
127.0.0.1:6379> select 0
OK
#检查指定key(此处为name)是否存在于当前数据库中
127.0.0.1:6379> exists name
(integer) 0
#向当前数据库中设置一个key-value键值对
127.0.0.1:6379> set name zhao
OK
#获取指定 key(此处为name)对应的value值。
127.0.0.1:6379> get name
"zhao"
#为指定key(此处为name)设置过期时间
127.0.0.1:6379> expire name 60
(integer) 1
#查看指定key(此处为name)剩余的存活时间
127.0.0.1:6379> ttl name
(integer) 57

http://www.xdnf.cn/news/1475533.html

相关文章:

  • MySQL中有哪些锁
  • MathJax - LaTeX:WordPress 公式精准呈现方案
  • Android Studio 构建变体中的资源选择顺序详解
  • UDP-Server(2)词典功能
  • git在Linux中的使用
  • mac-intel操作系统go-stock项目(股票分析工具)安装与配置指南
  • v0.29.3 敏感词性能优化之繁简体转换 opencc4j 优化
  • 大语言模型提示词工程详尽实战指南
  • 记一次uniapp+nutui-uniapp搭建项目
  • 计算机网络:无线局域网加密与认证方式
  • LeetCode算法日记 - Day 33: 最长公共前缀、最长回文子串
  • Linux | i.MX6ULL Tftp 烧写和 Nfs 启动(第十九章)
  • Paimon——官网阅读:文件系统
  • 1.5、机器学习-回归算法
  • Oracle体系结构-Redo Log Buffer详解
  • Day22_【机器学习—集成学习(3)—Boosting—Adaboost算法】
  • FreeMarker快速入门指南
  • Lua 面向对象编程
  • 【MFC】对话框节点属性:Language(语言)
  • macOS下arm编译缺少stdint.h等问题
  • Python入门:从Hello World到项目创建
  • MySQL与ES索引区别
  • 【LeetCode热题100道笔记】二叉树的右视图
  • 数据结构中排序的时间、空间复杂度以及稳定性
  • 20250906-01:开始创建LangChain的第一个项目
  • 虚拟化技术
  • 文件I/O与I/O多路复用
  • 外置flash提示音打包脚本
  • 版本发布流程手册:Release分支规范与Bug分级标准全解析
  • [C++刷怪笼]:搜索二叉树--便利的查找工具