redis通常用作存储一些不容易改变的数据,第一次查询数据库的时候,先从redis缓存中查询数据,如果数据存在那么直接取出无需经过数据库,如果数据不存在,那么从数据库中查询数据然后存放进redis中,下次再次查询的时候使用redis查询。
小案例:select下拉框,框中的内容省份,内容Ajax发送请求获得,第一次查询为数据库得到,第二次之后就是redis获得
jsp页面
<select id="province" onchange="selectcity()">
<option>---请选择---</option>
</select>
js代码
<script>
$(function () {
$.get("showProvince",{},function (data) {
var province = $("#province")
//遍历数组
$(data).each(function () {
// 新增一盒optain标签
var optain = "<option name='"+this.id+"'>"+this.name+"</option>"
// 追加进province
province.append(optain)
})
})
})
</script>
servlet代码
(不适用redis)
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//response.setContentType("text/html;charset=utf-8");
// 获取list
List<Province> list = ProvinceDao.queryForProvince();
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(list);
// 存入request 发送到jsp
//request.setAttribute("provs",list);
System.out.println(json);
response.setContentType("application/json;charset=utf-8");
//request.getRequestDispatcher("province.jsp").forward(request,response);
response.getWriter().write(json);
}
使用redis(首先调用下面这个方法)