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对应的得分值
原文地址:https://www.cnblogs.com/-Leif/p/12974914.html
- JS 评分五角星随鼠标移动显示
- Golang标准库学习——buffio包 ---转
- 【Go 语言社区】Go语言条件变量的两个例子
- mysqlimport导入报错的排查(r10笔记第58天)
- 【Go 语言社区】POJ 1047 Round and Round We Go 循环数新解
- 【Go 语言社区】删除redis所有KEY
- 【Go 语言社区】Golang 动态实例化结构体
- 【Go 语言社区】Go 错误处理
- 【Go 语言社区】Go 语言范围(Range)
- 【Go 语言社区】JS 相关---Window Location
- 【Go 语言社区】Go 语言Map(集合)
- 【Go 语言社区】JavaScript Date(日期)对象
- UWP基础教程 - XAML类型转换器
- Oracle 12c Data Guard搭建(一) (r10笔记第57天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法