1.什么是redis
sqlserver,mysql,Oracle都是关系型也称SQL型数据库
redis是非关系数据库,NoSql(Not Only Sql) 不仅仅是Sql
Memcached(具备缓存性质)
2.为什么要用redis
可以用来做缓存
3.redis的优缺点
优点:能存各种数据
操作语句简单
存取快速
体谅小
上手简单,等
缺点:不安全
没有权限划分
更改以及删除是没有二级提示的 而且无法恢复
对于大数据量 关联性数据 无法进行具体体现保存
4.怎么用
存:
set
90%字符串类型:set 键值(存单个字符串)
哈希型(hash):hset myhash(命名) a 1; hset myhash(命名) b 2(一个msp包含很多个键值对象)
List型(链表型)(有序的 允许重复值):lpush(左添加) mylist(命名) 1 2 3 4;rpush(右添加) mylist 4 5
Set型(无序 不允许重复值存在):sadd myset a ; sadd myset b
取:
get
字符串类型:get aa
哈希类型:hget myhash a
List型:lrange mylish 0(起始下标) 123(终止下标 -可无穷大)
Set型:smembers myset
删:
del aa
del myhash
hdel myhash a
del mylist
查找所有的键:keys *
小知识:
直连访问:每次都要去数据库重新拿数据
中间件缓存原理:第一次启动查询所有,存到小仓库,后面拿的时候只需要从小仓库里拿数据。缓存更新->原始表的增删改
主流服务器使用的操作系统 目前还是以linux为主 并不是windows。
原因:1.安全性
民用安全 商用 尤其涉及到政府,银行 国家军事部门的系统 服务器
windows毕竟是美国微软自主产权的东西
2.开源
linux原始版本是全免费 开源的 源自于Unix
每一个开发者 公司都可以拿着这个原始版本 自己加工修改 变成适用版本
参考代码:
用JAVA代码链接 调用redis 来进行缓存读写
redis的服务段切勿关闭
redis 是数据库的名字,但是JAVA链接redis是一种技术->jedis
//创建除了一条基于locallhost:6379的链接
// Jedis j1=new Jedis("localhost",6379);
// //能存
// j1.set("java","hello wosrld");
//能取
// String result=j1.get("java");
// System.out.println(j1.get("java"));
// j1.close();//关闭链接
如何保存复杂的集合 对象类型->jedis
//如何保存复杂的集合 对象类型->jedis
// List<Student> list=new ArrayList<>();
// list.add(new Student(1,"张三",12));
// list.add(new Student(2,"李四",13));
// list.add(new Student(3,"王五",14));
//
// String str= JSON.toJSONString(list);//将集合转成json字符串
// //按照字符串保存
// j1.set("list",str);
// //集合取出来 默认也只是String接受
// String result=j1.get("list");
// //将JSON字符串 打包回list<Student>类型,这样就可以保存到session作用域
// List<Student> data= JSONArray.parseArray(result,Student.class);
// for (Student s:data){
// System.out.println(s.getSname());
// }