redis哨兵
说明:通过缓存服务器可以有效的提升用户的访问效
1.注意事项:
A:缓存的数据结构应该选用K-V结构,只要K唯一那么结果必然相同
B:缓存总的数据不可能一直储存,需要定期将内存数据进行优化,LRU算法....
C:缓存的运行数据要求要快,C语言实现... 运行在内存中
D:如果缓存运行的数据在内存中,加入断电或者宕机,内存数据直接回丢 失;实现内存数据的持久化操作(磁盘)
2.Redis缓存服务器:
概念:是一个开源的,内存中的数据结构存储系统,它可以用在数据库,缓存和消息中间件;支持多种类型的数据结构.如:字符串(string) 散列(hashes) 列表(list) 集合(sets) 有序集合(sorted sets);
3.Redis的安装
A:进入src根目录 => 上传压缩包 => 执行 tar -zxvf redis-5.0.4.tar.gz 解压文件 =>修改文件存放位置 => mv redis-5.0.4 redis 修改文件名字;
B:安装redis 进入redis根目录 cd redis => make (编译) => make install(安装)
4.Redis.conf配置文件的修改:
(bind 127.0.0.1 表示ip绑定)
第一步:注释绑定地址
第二步:yes改成no
第三步:开启后台启动 no改成yes
A:进入跟目录=> 打开 redis.conf
5.Redis的启动:
A:启动Redis: 在redis跟目录 redis-server redis.conf
B:查看进程 ps -ef |grep redis
C:进入redis客户端:redis-cli -p 6379 (-p表示端口号)
D:set key vail形式
E:关闭redis: 两种方式
1.直接kill
2.reis-cli -p 6379 shutdown
6.Redis的命令:
1.String类型
2.Hash类型
说明:可以用散列类型保存对象和属性值
例子:User对象{id:2,name:小明,age:19}
3.List类型
说明:Redis中的List集合是双端循环列表,分别可以从左右两个方向插入数据.
List集合可以当做队列使用,也可以当做栈使用
队列:存入数据的方向和获取数据的方向相反
栈:存入数据的方向和获取数据的方向相同
4.Redis事务命令
说明:redis中操作可以添加事务的支持.一项任务可以由多个redis命令完成,如果有一个命令失败导致入库失败时.需要实现事务回滚.
5.Redis的整合mybatis
A:添加jar包
redis.clients
jedis
org.springframework.data
spring-data-redis
B:测试是否能够连通:
C:setnx(k, v);高级api 判断数据是否存在 如果有数据则不作处理
~~~~
D:setex(k,时间,v) (设置失效时间和设置值)方法执行要么成功要么失败;
jedis.setex("2007",100,"测试时间)
E:jedis.set
6.Redis的事物
1. multi命令:标记事物的开始
2.exec命令表示事物的提交
3.discard 事物的回滚 解释