Redis1

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

1.什么是NOSQL

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

2.NOSQL和RDBMS的区别

RDBMS --关系型数据库

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

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

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

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

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

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

NoSQL

  • 代表着不仅仅是SQL

  • 没有声明性查询语言

  • 键 - 值对存储。

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

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

3.NOSQL的产品

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

4.介绍Redis

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

Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构[存放的数据类型],例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis
Sentinel和Redis Cluster自动分区提供了高可用性。

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

5.安装Redis

5.1安装redis

(1)把redis软件放入centos系统中并解压 tar -zxvf xxxx.tar.gz
在这里插入图片描述

(2)进入到解压目录进行编译
make
在这里插入图片描述

(3)安装—可以在任意目录下使用redis的脚本命令
make install
在这里插入图片描述

(4)启动redis redis-server redis.conf //配置文件所在的路径
在这里插入图片描述

5.2redis客户端连接redis服务器

redis-cli 连接本地redis服务
redis-cli -h 192.168.65.131 -p 6379
-h: redis服务器主机的ip
-p: redis服务器的端口号 在这里插入图片描述

5.3聊聊redis的配置文件

(1)开启后台启动

在这里插入图片描述
在这里插入图片描述

查看redis的进程: ps -ef | grep redis
在这里插入图片描述

设置行号
在这里插入图片描述

如何关闭redis进程
kill -9 进程号
在这里插入图片描述

(2) 设置redis远程连接

在这里插入图片描述

验证:
在这里插入图片描述

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

在这里插入图片描述在这里插入图片描述

等价于==navicat
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.redis中常用的命令

http://www.redis.net.cn/order/

http://redisdoc.com/

6.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
在这里插入图片描述

6.2 关于数据库的命令

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

select n: 选择数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

flushdb: 清空当前库
在这里插入图片描述
在这里插入图片描述

flushall: 清空所有库的数据
在这里插入图片描述
在这里插入图片描述

7.redis支持的数据类型

http://www.redis.net.cn/order/

http://redisdoc.com/

这里所说的数据类型----指的是value的数据类型。
String 字符串类型
Hash 对象类型
List: 队列类型
Set:集合类型
ZSet: 有序集合类型.
不同的数据类型有不同的命令。

7.1 String 字符串类型

表示它的value为字符串类型,它是使用最多的类型,因为任意数据类型都可以转化为字符串。 value存储值的大小:512M.

1.set key value: 设置指定 key 的值
在这里插入图片描述
在这里插入图片描述

  1. get key 获取指定 key 的值。
    在这里插入图片描述
  1. mset key value key value … 同时设置一个或多个 key-value 对。 在这里插入图片描述
  1. mget key key … 获取所有(一个或多个)给定 key 的值。 在这里插入图片描述
  1. incr key 将 key 中储存的数字值增一。 点赞 收藏
    在这里插入图片描述
  1. decr key 将 key 中储存的数字值减一
    在这里插入图片描述
  1. setnx key value 只有在 key 不存在时设置 key 的值。 在这里插入图片描述

8.decrby key value
key所储存的值减去给定的减量值
在这里插入图片描述

9.psetex key 这个命令和SETEX命令相似,但它以毫秒为单位设置key的生存时间,而不是像SETEX命令那样,以秒为单位。
在这里插入图片描述

10.append 如果key已经存在并且是一个字符串,append命令将value追加到 key 原来的值的末尾。
在这里插入图片描述

set key value:

mset key value key value:

get key:

mget key key key…:

incr key:

decr key:

setnx key value:

7.2 Hash类型

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

  1. hset key field value 将哈希表 key 中的字段 field 的值设为 value 。 在这里插入图片描述
  1. hget key field 获取存储在哈希表中指定字段的值/td> 在这里插入图片描述
  1. hgetall key 获取在哈希表中指定 key 的所有字段和值 在这里插入图片描述
  1. hkeys key 获取所有哈希表中的字段
    在这里插入图片描述

5.hvals key 获取哈希表中所有值
在这里插入图片描述

6.hdel 删除一个或多个哈希表字段
在这里插入图片描述

hset key field value field value …

hget key field

hgetall key:

hkeys key:

hvals key:

flushall

7.3 list 队列

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

  1. LPush key value value value… 将一个或多个值插入到列表头部 在这里插入图片描述
  1. lrange key start end 获取列表指定范围内的元素
    Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1表示列表的第二个元素,以此类推。
    你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
    在这里插入图片描述
  1. lpop key 移出并获取列表的第一个元素
    在这里插入图片描述
  1. lpush key value value …
  2. lrange key start end
  3. lpop key 获取并移除第一个元素

7.4 set集合类型

无序 不允许重复.

  1. sadd key value value …向集合添加一个或多个成员 在这里插入图片描述

2.smemebers key 返回集合中的所有成员
在这里插入图片描述

3.SRANDMEMBER KEY 随机获取一个或多个元素 在这里插入图片描述

4.sinter key key: 返回给定所有集合的交集 在这里插入图片描述

5.sdiff 返回给定所有集合的差集
在这里插入图片描述

6.sadd 向集合添加一个或多个成员
sunion 返回所有给定集合的并集。(不存在的集合key被视为空集) 在这里插入图片描述

7.5 sort set有序集合

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

  1. zadd key score value score value :向有序集合添加一个或多个成员,或者更新已存在成员的分数
    在这里插入图片描述

2.zrange key 通过索引区间返回有序集合成指定区间内的成员(从小到大排列)
在这里插入图片描述

3.ZREVRANK key start end 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值