文章目录
Redis 的运用
1 Redis概述;(了解)
1.1Sql:操作数据库(关系型的)的标准语言
1.1.1关系数据库(rdbms):表与表之间有相应的关系(外键关联)–用于中小型的项目,数据量不大.关系型数据库:以关系(由行和列组成的二维表)模型为核心数据库.
1.2 Nosql:操作非关系型的数据库,主要用于大型的数据量和高并发.
2.1.2 键值对 key-value:Redis (缓存的数据库,处理大数据和日志系统)
列: colum store:Hbase. (分布式的文件系统)
文档: docment:mangoDb.
推荐系统:通过选择,进行推荐.
面试题:redis 和memcache—做缓存的区别
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FANmuqfG-1576752704277)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1576719342742.png)]
1.3 redis的使用场景
- 最多的就是缓存-redis
2)计时器的运用–(微博热点)
3)实时攻防系统–(银行网站登录)
4)有效期的运用 --秒杀 红包过期
5)自动去重
6)列队
7)消息订阅系统
2 安装Redis;(掌握)
2.1 安装(解压 傻瓜式安装)
3 Redis cli操作Redis;(掌握)
3.1 字符串操作的操作
set key value //存值 set name xxx
get key //取值
mset 批量存值
mget 批量取值
incr 自增
decr 自减
incrBy 自增多少
decrBy //自减到多少
3.2 key 的操作
keys * //获取所有Key列表
del key s删除
expire key xx //设置key 的过期的时间(xx秒过期)
ttl key //查看过期时间
flushall 删除所有数据库(0-15共16个数据库)
flushdb 清除当前数据库
select index 查询 数据库
3.3 list的操作
lpush key value //将一个值/或是多个值插入列表头
rpush key value //将一个值/或者多个值插入列表未
lpop key //移除表头(左)
rpop key //移除尾(右)
lrange key start stop start:0 stop :-1 列表区间的值
lrem key count value //根据count值移除列表key中与参数 value 相等的元素count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。count = 0 : 移除表中所有与 value 相等的值
lindex key index index的索引元素
ltrim key start stop //对一个列表进行修剪
Redis怎么实现栈(FILO)和队列(FIFO)
list控制同一边进,同一边出就是栈
list控制一边进,另一边出就是队列.
3.4 set的操作
sadd key member //将一个元素加入到集合key中
srem key member//将一个元素从集合中移除
smembers key //返回集合 key 中的所有成员
3.5 hash的操作
hset key name value//添加一个name=>value键值对到key这个hash类型
hget key name //获取hash类型的name键对应的值
hmset key name1 key1 name2 key2 //批量添加name=>value键值对到key这个hash类型
hmget key name1 name2//批量获取hash类型的键对应的值
hkeys //返回哈希表 key 中的所有键
hvals //返回哈希表 key 中的所有值
hgetall //返回哈希表 key 中,所有的键和值
我们将user:1(name:zhangsan,age:18,sex:nv)的信息保存在hash表.
3.6 事务(了解)
multi //标记一个事务块的开始。
exec //执行所有事务块内的命令。
弱事务 : 日志
强事务 :同时成功 同时失败-- 金融数据
discard //取消事务,放弃执行事务块内的所有命令。
Redis的事务在执行exec指令时,才批量执行操作,没有回滚操作
3.7 订阅/发布(了解)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7OJAYN7-1576752704286)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1576730577276.png)]
3.8 密码的设置
1.通过命令动态调整密码
CONFIG SET 命令可以动态地调整 Redis 服务器的配置而无须重启,重启后失效
CONFIG SET requirepass 123456 //将密码设置为123456
CONFIG SET requirepass "" //清除密码
AUTH 123456 //输入密码进行认证
2.通过配置文件设置密码
在配置文件redis.widows.conf中增加一行代码
requirepass 123456
将密码123456设置到配置文件中,redis启动时加载该文件,即可启用密码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D4gMP39b-1576752704287)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1576730700829.png)]
配置文件的方式加密
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PeEEBZop-1576752704289)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1576735667733.png)]
4 Redis持久化;(掌握)
4.1 导包
4.2 运用
public class RedisTest {
@Test
public void testRedis() throws Exception{
Jedis jedis = new Jedis("127.0.0.1", 6379, 1000);
jedis.auth("123456");
//执行操作
jedis.set("test", "sansan");
System.out.println(jedis.get("test"));