Redis
1.NoSQL
SQL——Structured Query Language(结构化查询语言)
NoSQL——Not only SQL
目前的(大)数据分为3种:
1. 结构化数据:Excel表格,SQL族(表)
2.半结构化数据:xml、json、NoSQL相关的数据库
3.非结构化数据:文件、数据流(音频、视频)
NoSQL相关的数据库有:MongoDB、Redis
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.exe:Redis的服务端
redis-cli.exe:Redis的客户端
启动两个cmd命令行,一个跑服务端,一个跑客户端
redis-server.exe redis.windows.conf

注意:Redis的端口号是6379,不要跟MySQL的混淆
redis-cli.exe

输入ping,redis会回一个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 获取元素的个数

假设有两个集合myset、myset2


SINTER求多个集合的交集

SUNION求多个集合的并集

SDIFF求多个集合的差集


sismember 判断元素是否在集合中

3.6 sorted set(有序集合)
有序集合的特点:每个元素都有两个属性:
Score得分,按照得分来排序
Member成员,集合中的值
zadd添加元素
格式:
ZADD 集合名称 得分1 成员1 得分2 成员2 …………

zrange查看成员

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

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


浙公网安备 33010602011771号