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