首页 > 其他 > 详细

Redis

时间:2020-05-27 21:20:03      阅读:35      评论:0      收藏:0      [点我收藏+]

1.NoSQL

SQL——Structured Query Language(结构化查询语言)

NoSQL——Not only SQL

 

目前的(大)数据分为3种:

  1. 结构化数据Excel表格,SQL族(表)

  2.半结构化数据:xmljsonNoSQL相关的数据库

  3.非结构化数据:文件、数据流(音频、视频)

 

NoSQL相关的数据库有:MongoDBRedis

SQL相关的数据库是物理层面上的数据库

NoSQL相关的数据库则是逻辑上的数据库

因此:SQL数据库存储的空间大,访问速度低;NoSQL数据库存储空间小,访问速度快。一般可以理解为NoSQL是作为SQL数据库的缓存

2.Redis安装与配置

Redis安装包下载(百度网盘):

链接:https://pan.baidu.com/s/1CUOvBgpUMblvafplblfzyQ
提取码:vtto

拷贝Redis-x64-3.2.100.msi到本地一个目录下,点击安装,然后设置环境变量PATH为该目录所在的路径,即可。

redis-server.exeRedis的服务端

redis-cli.exeRedis的客户端

启动两个cmd命令行,一个跑服务端,一个跑客户端

redis-server.exe redis.windows.conf

技术分享图片

注意:Redis的端口号是6379,不要跟MySQL的混淆

redis-cli.exe

技术分享图片

输入pingredis会回一个pong

技术分享图片

3.Redis数据类型

Redis中永远是key-value的数据。

其中,键永远是字符串,值可以是如下的内容:

  1.string(字符串)

  2.hash(哈希)(加密运算)

  3.list(列表)

  4.set(无序集合)

  5.zset(有序集合)

3.1 string(字符串)

Redis中最基本的类型。

常用的命令

设置键对应的值

set key value

技术分享图片

技术分享图片

获取键对应的值

get key

技术分享图片

如果get一个不存在的键,返回nil

技术分享图片

mget:一次获取多个值

技术分享图片

append往现有的字符串后面追加值

技术分享图片

strlen查看字符串的长度

技术分享图片

3.2 key(键)

keys查找键

技术分享图片

如果查找的键不存在,则显示empty list

技术分享图片

如果查找所有的键,则输入keys *

技术分享图片

exists判断键是否存在

技术分享图片

type查看类型

技术分享图片

del删除键

技术分享图片

expire设置过期时间

技术分享图片

技术分享图片

技术分享图片

3.3 hash(哈希)

{“key”:[{‘food1’:’2’, ‘food2’:’3’}]}

我们可以理解为字典。

Hset添加元素

格式:

hset key field value

技术分享图片

Hget获取元素

格式:

hget key field

技术分享图片

String字符串可以理解为:

name = ‘zhangsan’
age = 23

hash哈希可以理解为:

user = {
  ‘name’: ‘zhangsan’,
  ‘age’: 23,
  ‘sex’: ‘male’
}

hkeys返回所有的属性(field)

 技术分享图片

hvals返回所有的值

 技术分享图片

hgetall返回所有的属性和值

 技术分享图片

hlen返回包含属性和值的长度

技术分享图片

Hmset key field1 value1 field2 value2 .... fieldn valuen
Food1 2 food 3 food3 1

3.4 list(列表)

列表可以在左边插入,也可以在右边插入

lpush在左边插入;rpush在右边插入

技术分享图片

 技术分享图片

技术分享图片

lrange查看列表的元素(从开始位置到结束位置)

如果要查看所有元素,开始位置为0,结束位置为-1

 技术分享图片

linsert 左边插入(没有rinsert的)

格式:

LINSERT 列表 BEFORE|AFTER 比较的值 插入的值

技术分享图片

 技术分享图片

 技术分享图片

 技术分享图片

lpop从左侧获取;rpop从右侧获取

技术分享图片

 技术分享图片

 技术分享图片

3.5 set(集合)

sadd 往集合中添加元素

技术分享图片

smembers 获取所有的元素

技术分享图片

注意:显示的顺序跟插入的顺序不一样。说明set是无序的

scard 获取元素的个数

技术分享图片

假设有两个集合mysetmyset2

技术分享图片

 技术分享图片

SINTER求多个集合的交集

技术分享图片

SUNION求多个集合的并集

技术分享图片

SDIFF求多个集合的差集

技术分享图片

 技术分享图片

sismember 判断元素是否在集合中

技术分享图片

3.6 sorted set(有序集合)

有序集合的特点:每个元素都有两个属性:

Score得分,按照得分来排序

Member成员,集合中的值

zadd添加元素

格式:

ZADD 集合名称 得分1 成员1 得分2 成员2 …………

技术分享图片

zrange查看成员

技术分享图片

zcount返回集合中,score得分值在…和…之间的元素的个数

 技术分享图片

zscore返回集合中,成员member对应的得分值

技术分享图片

 

Redis

原文:https://www.cnblogs.com/-Leif/p/12974914.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!