redis命令学习
一、了解redis
redis:
Redis 是一个基于内存的键值型NoSQL数据库。
特征:
- 键值型,value支持多种不同数据结构,功能丰富
- 单线程,每个命令具备原子性
- 低延迟,速度快
- 支持数据持久化
- 支持主从集群,分片集群
支持多种语言客户端
与SQL区别:
二、数据类型(key)
1.Redis通用命令
通用命令是部分数据类型的,都可以使用的指令,常见的:
- KEYS :查看符合模板的所有key,不建议在生产环境设备上使用
- DEL:删除一个指定的key
- EXISTS:判断key是否存在
- EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除
- TTL:查看一个key的剩余有效期
2.KEY数据类型
String(字符串)类型
其value是字符串,根据格式不同,可分为
- string 普通字符串
- int 整数类型 可以做自增 自减操作
- float 浮点类型,可以做自增 自减操作
String类型的常见命令
- SET:添加或者修改已经存在的一个String类型的键值对
- GET:根据key获取String类型的value
- MSET:批量添加多个String类型的键值对
- MGET:根据多个key获取多个String类型的value
- INCR:让一个整型的key自增1
- INCRBY:让一个整型的key自增并指定步长,例如:incrby num2让num值自增2
- INCRBYFLOAT:让一个浮点类型的数字自增并指定步长
- SETNX:添加一个String类型的键值对,前提是这个key不存在,否则不执行
- SETEX:添加一个String类型的键值对,并且指定有效期
Hash(哈希)
Hash的常见命令有:
- HSET key field value:添加或者修改hash类型key的field的值
- HGET key field:获取一个hash类型key的field的值
- HMSET:批量添加多个hash类型key的field的值
- HMGET:批量获取多个hash类型key的field的值
- HGETALL:获取一个hash类型的key中的所有的field和value
- HKEYS:获取一个hash类型的key中的所有的field
- HVALS:获取一个hash类型的key中的所有的value
- HINCRBY:让一个hash类型key的字段值自增并指定步长
- HSETNX:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行
List(列表)
Set(集合)
3.思考一点点
如何利用LIST结构模拟一个栈?
· 入口和出口在同一边
如何利用LIST结构模拟一个队列?
· 入口和出口在不同边
如何利用LIST结构模拟一个阻塞队列?
· 入口和出口在不同边
· 出队时采用BLPOP或BRPOP