首页 > 其他分享 >学习-13

学习-13

时间:2023-04-23 10:11:06浏览次数:47  
标签:13 redis Redis 指定 value 学习 key 集合

1. 回顾

1. nginx--反向代理 负载均衡  动静分离
2. 搭建nginx高可用集群---keepalived

2. 正文--redis [重点]

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

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中常用的命令

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

http://redisdoc.com/

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支持的数据类型

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

http://redisdoc.com/

这里所说的数据类型----指的是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      获取哈希表中所有值

hset key field value field value ......

hget key field

hgetall key:

hkeys key:

hvals key:

flushall

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   移出并获取列表的第一个元素

  1. lpush key value value ....
  2. lrange key start end
  3. 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 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序

标签:13,redis,Redis,指定,value,学习,key,集合
From: https://www.cnblogs.com/av404/p/17345664.html

相关文章

  • 学习-11
    1.回顾1.切换目录cd2.查看目录下的内容:ls[-al]3.当前所在的目录pwd4.创建目录mkdir[-p]5.创建文件touch6.删除目录文件rm[-rf]7.复制文件或目录cp[-r]8.移动或重命名mv9.编辑文件内容:vi---命令行模式---i---编辑---esc[:wq保存并退出:q!......
  • 【WPF学习】03 控件模板
    查看控件样式具体属性在VirtualStudio中,我们可以通过文档大纲找到具体元素控件,右键选择“编辑模板--编辑副本”可以查看该控件当前的样式具体属性设置,再未对控件自定义样式的时候通过这种方法查看到的即为系统为该控件预设的样式属性由此再注释几个属性:ContentPresenter定......
  • 学习-10
    1.正文1.linux-centos7的目录结构【了解】2.linux中常用的命令[重点]3.linux中安装常用的软件【重点】2.linux-centos7的目录结构/:centos7的根目录bin:脚本目录--包含很多linux命令sbin:命令目录--包含linux的命令etc:配置目录--可以配置很多参数--IP地址,环......
  • 13款监测工具使用
    Linux运维必备的13款实用工具,你都用过吗?运维网工 2023-04-2209:00 发表于重庆收录于合集#Linux运维工具2个#运维工程师119个#网络运维77个#运维工具78个#运维管理66个本文介绍几款Linux运维比较实用的工具,希望对Linux管理员有所帮助。1、查看进程占用......
  • random随机数的学习
    Linux中的随机数知多少原创 入门小站 入门小站 2023-04-2122:26 发表于湖北收录于合集#Linux766个入门小站分享运维技巧及10k+Stars的开源项目237篇原创内容公众号【Linux250个常用命令速查手册】关注【入门小站】,后台回复「1001」自取。Li......
  • Vicuna-13B, an open-source chatbot trained by fine-tuning LLaMA
    一、项目背景WeintroduceVicuna-13B,anopen-sourcechatbottrainedbyfine-tuningLLaMAonuser-sharedconversationscollectedfromShareGPT.PreliminaryevaluationusingGPT-4asajudgeshowsVicuna-13Bachievesmorethan90%* qualityofOpenAIChatGPT......
  • mindspore-gpu-2.0.0-alpha版本学习笔记
    使用docker容器运行:sudodockerrun-it-v/home/devil/shareData/root/shareData --runtime=nvidia--gpusall --nameUbuntu_x86_64swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-cuda11.1:2.0.0-alpha /bin/bash   ===========================......
  • layui学习3(静态表格、表单元素)
    1.静态表格表格:<tableclass="layui-table"></table>属性:lay-even实现隔行换色效果lay-skin="属性值"【line(行边框风格)、row(列边框风格)、nob(无边框风格)】lay-size="属性值"【sm(小尺寸)、lg(大尺寸)】表格-页面元素-Layui(ilayuis.com)<!DOCTYPEht......
  • VBA学习笔记901_代码留存
    只是为了记录一些跑过的代码,尽量加上注释,但有些非常简单,只是为了以后快速熟悉代码结构条件选择`最基本If逻辑表达式Then'如果逻辑表达式为真,则执行这里的语句Endif`加强版If逻辑表达式Then'如果逻辑表达式为真,则执行这里的语句Else'否则(即逻辑表达......
  • Atom 1.13版本带来的哪些改变?
    Atom是GitHub基于Electron的开源文本编辑器,它的1.13版本为用户和开发人员增加了许多新的特性和改进,包括一个基准工具,一个“重新打开项目”菜单选项和API,以及一个自定义按钮解析器,它可以把Chrome键盘事件映射为Atom风格的按键。在Atom之前,只能使用Chrome的分析工具来度量A......