Redis

时间:2020-05-27
本文章向大家介绍Redis,主要包括Redis使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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对应的得分值

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