简介:
Redis是一个基于内存的 key-value结构数据库,存储数据。
键值对,
基于内存储存,读写性能高。
适合储存热点数据(热点商品,咨询,新闻)抢购秒杀就是热点数据,
Redis对Mysql的一个扩展。
常用数据类型:
Redis 有 5 种基础数据结构,它们分别是:string(字符串)、list(列表)、hash(字典)、set(集 合) 和 zset(有序集合)。
Stirng(字符串)
Redis中最简单的数据类型,Key-Value。
List(列表)
按照插入瞬间排序,可有重复元素,类似于Java中的LinkedList。
Hash(字典)
也叫散列 类似于Java中的HashMap。
Set(集合)
无序集合,没有重复元素,类似于Java中的HashSet。
Zset(有序集合)
有序集合 集合中每一个元素 关联一个分数 (score) 升序,没有重复元素。
常用项目环境:
1. 使用Redis做热点数据缓存/接口数据缓存
2. 使用Redis存储一些业务数据 , 例如 : 验证码 , 用户信息 , 用户行为数据 , 数据计算结果 , 排行榜数据 , 单一数据(没必要在数据库创建表)等
3. 使用Redis实现分布式锁 , 解决并发环境下的资源竞争问题
Redis常用命令:
(不区分大小写)
字符串操作命令:
SET key value 设置指定key的值
GET key 获取指定key的值
SETEX key seconds value 设置指定key的值,并将key的过期事件设为seconds秒 (这个就可以将生成的验证码,设置过期时间为五分钟)
SETNX key value 只有在key不存在时设置key的值
哈希操作命令:
Hset key field value 将哈希表key中的字段field的值设为value
Hget key field 获取储存在哈希表中指定字段的值
Hdel key field 删除储存在哈希表中的指定字段
Hkeys key 获取哈希表中所有字段
Hvals key 获取哈希表中所有值
列表操作命令:
Lpush key value1 [value2] 将一个或多个值插入到列表头部
Lrange key start stop 获取列表指定范围内的元素 ( lrange mylist 0 -1 将列表所有返回)
RPOP key 移除并获取列表最后一个元素
Llen key 获取列表长度
集合操作命令:
Sadd key member1 [member2] 向集合添加一个或多个成员
Smebers key 返回集合中的所有成员
Scard key 获取集合的成员数
Sinter key1 [key2] 返回给定所有集合的交集
Sunion key1 [key2] 返回所有给定集合的并集
Srem key member1 [member2] 删除集合中一个或多个成员
有序集合操作命令:
String类型元素的集合,且不允许有重复成员,每个元素都会关联一个Double类型的分数
Zadd key score1 member1 [score2 member2] 向有序集合添加一个或多个成员
Zrange key start stop [withscores] 通过索引区间返回有序集合中指定区间内的成员
Zincrby key increment member 有序集合中对指定成员的分数加上增量 increment
Zrem key member [member ..] 移除有序集合中的一个或多个成员
通用命令:
KEYS patten 查找所有符合给定模式的key
EXISTS key 检查给定key是否存在
TYPE key 返回key所存储的值的类型
DEL key 该命令用于在key存在的删除
Java编码操作Redis
1、导入坐标
2、在.yml文件配置数据源
另外两个参数,
#Password:123456
#database:0 默认为仓库0
3、配置类,创建RedisTemplate对象
进行测试一下
测试通过,并不是一个空的,到这里,就说明操控成功了。
Redis字符串操控命令,Java版本
Redis哈希的操作,Java版本:
Redis操作list列表,数据:
Redis操控集合类型set
Redis操控有序集合: