1.redis的安装和学习(重点)

NOSQL是非关系型数据库的统称,与RDBMS相比,具有高性能、高可用性和可伸缩性的特点,适合大数据处理。Redis是一款开源的Key-Value数据库,支持多种数据结构如字符串、列表、哈希等,提供原子性操作。文章介绍了Redis的安装步骤和常用命令,以及其作为NoSQL产品的主要特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是NOSQL
2.NOSQL和RDBMS的区别
3.NOSQL的产品
4.介绍Redis
5.安装Redis
6.redis支持的数据类型

3. 什么是NOSQL

NOSQL(not only sql) 不仅是sql,它是所有非关系数据库的一种统称。

4. NOSQL和RDBMS的区别

RDBMS --关系型数据库

  • 高度组织化结构化数据。 --表结构 列 列....

  • 结构化查询语言(SQL) sql语句

  • 数据和关系都存储在单独的表中。

  • 数据操纵语言DML,数据定义语言DDL

  • 严格的一致性. ACID 原子性 隔离性 持久性 一致性

  • 基于事务----都支持事务

NoSQL

  • 代表着不仅仅是SQL

  • 没有声明性查询语言

  • 键 - 值对存储。

  • 非结构化和不可预知的数据 字符串 集合 对象 队列

  • 高性能,高可用性和可伸缩性。 ----便于搭建集群---挂载

5. NOSQL的产品

redis----结构基于key和value的形式
mongodb---介于关系型数据库和非关系数据库之间

6. redis简介

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、==可基于内存亦可持久化的日志型==、Key-Value数据库,并提供多种语言的API .[很多语言可以连接该redis]

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。

redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)

目前,Vmware在资助着redis项目的开发和维护。

【redis的作者何许人也】

开门见山,先看照片:

是不是出乎了你的意料,嗯,高手总会有些地方与众不同的。

这位便是redis的作者,他叫Salvatore Sanfilippo,来自意大利的西西里岛,现在居住在卡塔尼亚。目前供职于Pivotal公司。

他使用的网名是antirez,如果你有兴趣,可以去他的博客逛逛,地址是antirez.com,当然也可以去follow他的github,地址是http://github.com/antirez

 

6.2 特点

1.Redis读取的速度是110000次/s,写的速度是81000次/s。 
2.原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
4.持久化,默认在内存中进行计算。可以持久化到磁盘。
5. 主从复制(集群)
5.官方不支持window系统,但是又第三方版本。 linux系统。

7. 安装redis

(1)把redis软件放入centos系统中并解压

 tar -zxvf xxxx.tar.gz

(2)进入到解压目录进行编译

make 

(3)安装---可以在任意目录下使用redis的脚本命令

make install

 (4)启动redis

redis-server  redis.conf //配置文件所在的路径

7.2 redis客户端连接redis服务器

redis-cli  连接本地redis服务

redis-cli -h 192.168.223.166 -p 6379
-h: redis服务器主机的ip
-p: redis服务器的端口号

7.3 聊聊redis的配置文件

 (1)开启后台启动

 

查看redis的进程:

ps -ef | grep redis

如何关闭redis进程

kill -9 进程号

(2) 设置redis远程连接

 验证:

7.4 安装redis的客户端的UI软件

等价于==navicat

 

 

 

8. redis中常用的命令

redis命令手册

Redis 命令参考 — Redis 命令参考

8.1 关于key的命令

set key value

keys *: 查看redis中所有的key
del key [key....]: 删除指定key的内容
expire key seconds:  为指定的key设置过期时间
ttl key: 查看当前的key的剩余时间
exists key: 判断指定的key是否存在  返回0表示不存在指定的key  否则表示存在指定的key

8.2 关于数据库的命令

默认redis支持数据库的个数为16个

select n: 选择数据库

flushdb: 清空当前库

flushall: 清空所有库的数据

8.3 redis支持的数据类型

redis命令手册

Redis 命令参考 — Redis 命令参考

这里所说的数据类型----指的是value的数据类型。

String 字符串类型

Hash 对象类型

List: 队列类型

Set: 集合类型

ZSet: 有序集合类型.

不同的数据类型有不同的命令。

8.3.1 String 字符串类型

表示它的value为字符串类型,它是使用最多的类型,因为任意数据类型都可以转化为字符串。

value存储值的大小:512M.

 1. set key value: 设置指定 key 的值

 2. get key 获取指定 key 的值。

 3. mset key value key value .... 同时设置一个或多个 key-value 对。

4. mget key key ....  获取所有(一个或多个)给定 key 的值。 

 5. incr key     将 key 中储存的数字值增一。 用于点赞 收藏

 6. decr key       将 key 中储存的数字值减一

 7. setnx key value 只有在 key 不存在时设置 key 的值

总结:

set key value:

mset key value key value:

get key:

mget key key key....:

incr key:

decr key:

setnx key value:

8.3.2 Hash类型

表示redis的value类型为Hash类型,一般存放对象数据。

1. hset key field value      将哈希表 key 中的字段 field 的值设为 value 。

2. hget key field   获取存储在哈希表中指定字段的值/td>

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

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

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

8.3.3 list 队列

value 可以是一个队列---该队列的值可以重复而且有序。

1. LPush key  value value value...    将一个或多个值插入到列表头部

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

Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

lpop key   移出并获取列表的第一个元素

8.3.4 set集合类型

无序不允许重复.

1. sadd key value value ....向集合添加一个或多个成员

smemebers key 返回集合中的所有成员

SRANDMEMBER KEY 随机获取一个或多个元素

sinter key key: 返回给定所有集合的交集

8.3.5 sort set有序集合

和上面的set区别在于多了一个score分数列----- 排行耪

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

zrange key        通过索引区间返回有序集合成指定区间内的成员

ZREVRANK key start end 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值