精华内容
下载资源
问答
  • 2020-03-16 10:27:41

     

    目录

    uni.setStorage

    uni.setStorageSync

    uni.getStorage

    uni.getStorageSync

    uni.removeStorage

    uni.removeStorageSync


     

    将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。

    代码演示:

    <template>
    	<view>
    		<button type="primary" @click="setStor">存储数据</button>
    	</view>
    </template>
    
    <script>
    	export default {
    		methods: {
    			setStor () {
    				uni.setStorage({
    				 	key: 'id',
    				 	data: 100,
    				 	success () {
    				 		console.log('存储成功')
    				 	}
    				 })
    			}
    		}
    	}
    </script>
    
    <style>
    </style>
    • uni.setStorageSync

    将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。

    代码演示 :

    <template>
    	<view>
    		<button type="primary" @click="setStor">存储数据</button>
    	</view>
    </template>
    
    <script>
    	export default {
    		methods: {
    			setStor () {
    				uni.setStorageSync('id',100)
    			}
    		}
    	}
    </script>
    
    <style>
    </style>
    • uni.getStorage

    从本地缓存中异步获取指定 key 对应的内容。

    代码演示 :

    <template>
    	<view>
    		<button type="primary" @click="getStorage">获取数据</button>
    	</view>
    </template>
    <script>
    	export default {
    		data () {
    			return {
    				id: ''
    			}
    		},
    		methods: {
    			getStorage () {
    				uni.getStorage({
    					key: 'id',
    					success:  res=>{
    						this.id = res.data
    					}
    				})
    			}
    		}
    	}
    </script>
    • uni.getStorageSync

    从本地缓存中同步获取指定 key 对应的内容。

    代码演示 :

    <template>
    	<view>
    		<button type="primary" @click="getStorage">获取数据</button>
    	</view>
    </template>
    <script>
    	export default {
    		methods: {
    			getStorage () {
    				const id = uni.getStorageSync('id')
    				console.log(id)
    			}
    		}
    	}
    </script>
    • uni.removeStorage

    从本地缓存中异步移除指定 key。

    代码演示 :

    <template>
    	<view>
    		<button type="primary" @click="removeStorage">删除数据</button>
    	</view>
    </template>
    <script>
    	export default {
    		methods: {
    			removeStorage () {
    				uni.removeStorage({
    					key: 'id',
    					success: function () {
    						console.log('删除成功')
    					}
    				})
    			}
    		}
    	}
    </script>
    • uni.removeStorageSync

    从本地缓存中同步移除指定 key。

    代码演示 :

    <template>
    	<view>
    		<button type="primary" @click="removeStorage">删除数据</button>
    	</view>
    </template>
    <script>
    	export default {
    		methods: {
    			removeStorage () {
    				uni.removeStorageSync('id')
    			}
    		}
    	}
    </script>

     

     本篇文章讲解uni-app中的数据缓存,若有什么地方不明确或某些位置不太懂得请在评论中指出,后期我会继续出更多的基础教学谢谢各位支持 ,谢谢大家

    更多相关内容
  • Servlet方案在Controller的方法的...springmvc会 自动把当前session对象注入这个参数,此后可以使用setAttribute(String key, Object value)将数据缓存session,使用removeAttribute(Stringkey)将指定的数据从se...

    Servlet方案

    在Controller的方法的参数列表中,添加一个javax.servlet.http.HttpSession类型的形参。spring mvc会 自动把当前session对象注入这个参数,此后可以使用setAttribute(String key, Object value)将数据缓存到session,使用removeAttribute( String key)将指定的数据从session缓存中移除。

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    1 packagecn.sinobest.jzpt.demo.login.web;2 importjavax.servlet.http.HttpSession;3 importorg.springframework.stereotype.Controller;4 importorg.springframework.ui.Model;5 importorg.springframework.web.bind.annotation.RequestMapping;6 /**

    7 * 登陆相关Controller.
    8 * H - HttpSession.9 *@authorlijinlong10 *11 */

    12 @Controller13 @RequestMapping("demo/h_login")14 public classHLoginController {15

    16 @RequestMapping("/login")17 publicString login(Model model, String username, HttpSession session) {18 Logger.logger.debug("in HLoginController.login...");19 String currUsername = session.getAttribute("username") == null ? null

    20 : session.getAttribute("username").toString();21 //尝试从session中获取username数据。

    22

    23 boolean usernameIsNull = username == null ||username.isEmpty();24 boolean currunIsNull = currUsername == null ||currUsername.isEmpty();25 if (usernameIsNull &&currunIsNull) {26 returnView.VIEW_LOGIN;27 }28

    29 if (!usernameIsNull) {30 session.setAttribute("username", username);31 //将username缓存到session中。

    32 }33 returnView.VIEW_LOGOUT;34 }35

    36 /**

    37 * 注销.38 *@parammodel39 *@paramsession40 *@return

    41 */

    42 @RequestMapping("/logout")43 publicString logout(Model model, HttpSession session) {44 Logger.logger.debug("in HLoginController.logout...");45 session.removeAttribute("username");46 //将username从session中移除。

    47 returnView.VIEW_LOGIN;48 }49 }

    LoginController.java

    Spring方案

    spring mvc提供了内嵌的支持方案:

    将数据缓存到session

    对Controller使用org.springframework.web.bind.annotation.SessionAttributes注解,可以将指定名称 或者 类型的数据,在model.addAttribute( String key,  Object value)时,缓存到session中。

    清除session中的数据

    调用org.springframework.web.bind.support.SessionStatus实例的setComplete(),在方法的参数列表中声明SessionStatus类型的参数,会被自动注入。

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    1 packagecn.sinobest.jzpt.demo.login.web;2 importorg.springframework.stereotype.Controller;3 importorg.springframework.ui.Model;4 importorg.springframework.web.bind.annotation.ModelAttribute;5 importorg.springframework.web.bind.annotation.RequestMapping;6 importorg.springframework.web.bind.annotation.SessionAttributes;7 importorg.springframework.web.bind.support.SessionStatus;8 /**

    9 * 登陆相关Controller.
    10 * S - Spring Session.11 *@authorlijinlong12 *13 */

    14 @Controller15 @RequestMapping("demo/s_login")16 @SessionAttributes("username") //指定了key为username的数据,会被放入session中。

    17 public classSLoginController {18 @RequestMapping("/login")19 publicString login(Model model, String username) {20 Logger.logger.debug("in SLoginController.login...");21 String currUsername = model.asMap().get("username") == null ? null

    22 : model.asMap().get("username").toString();23 //尝试从session中获取username(spring mvc会自动把session中的数据装载到model中)。

    24

    25 boolean usernameIsNull = username == null ||username.isEmpty();26 boolean currunIsNull = currUsername == null ||currUsername.isEmpty();27 if (usernameIsNull &&currunIsNull) {28 returnView.VIEW_LOGIN;29 }30

    31 if (!usernameIsNull) {32 model.addAttribute("username", username);33 //username会被放入session中(key和@SessionAttributes的参数匹配)。

    34 }35 returnView.VIEW_LOGOUT;36 }37

    38 @RequestMapping("/logout")39 publicString logout(SessionStatus status,40 @ModelAttribute("username") String currUsername) {41 Logger.logger.debug("in SLoginController.logout...");42 Logger.logger.debug("current user is:" +currUsername);43 status.setComplete();44 //清除session中的attribute

    45 returnView.VIEW_LOGIN;46 }47 }

    LoginController

    SessionAttributes的使用方法

    匹配单一的key

    @SessionAttributes("username") //匹配key=username的数据

    匹配key数组

    @SessionAttributes({"username", "password"}) //匹配key=username或者password的数据

    匹配单一类

    @SessionAttributes(types=String.class) //匹配String类型的数据

    匹配类数组

    @SessionAttributes(types={String.class, List.class}) //匹配String类型或List类型的数据

    混合匹配

    @SessionAttributes(value={"username", "password"}, types={String.class, List.class})

    ModelAttribute

    使用ModelAttribute,可以自动将session中指定的参数注入到方法的形参;但是如果session中没有指定的参数,会抛出异常:

    org.springframework.web.HttpSessionRequiredException: Session attribute 'username' required - not found in session

    Model中的数据

    Spring 会把Session中的数据装载到Model中,所以使用model.asMap().get("username")可以获取 session中的数据。返回页面前,spring会把Model中的数据放入requestScope,所以在页面可以使 用${requestScope.username}来获取数据。

    展开全文
  • koa使用session和redis缓存

    千次阅读 2019-11-29 09:44:47
    npm i koa-generic-session --save npm i koa-redies --save 用就行不要去理解 const session = require('koa-generic-session') const Redis = require('koa-redis') const Store = new Redis().client app...

    下载插件

    npm i koa-generic-session  --save
    npm i koa-redies --save
    

    用就行不要去理解

    const session = require('koa-generic-session')
    const Redis = require('koa-redis')
    const Store = new Redis().client
    app.keys = ['saffasfassadasd', 'safasf'];
    // 对session进行加密的key
    app.use(session({
      prefix:"aaafsfa", // 给session对象在redis存储的地址名前面添加的前缀内容
      key:"abc", // key名
      store:new Redis() // 在Redis中放入一个session对象
    }))
    router.get('/', async function (ctx, next) {
      ctx.session.name = ctx.request.query.name
      // 从url中获取name值赋给session
      const st = await Store.hset('fix','name',ctx.request.query.name)
      // 给fix存储地址类型是hash
      const a = await Store.get("aaafsfa"+ctx.cookies.get("abc"))
      // 获取括号中地址的字符串sting类型
      console.log(JSON.parse(a).name)
      // 转化成对象
      ctx.body = 'this is a users response!'
    	
    	// hash (哈希 和对象差不多) hget hset
    	// string 字符串 get set
    

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    // 创建集合 set
    
    // 内容不会重复的集合  如果有这个value就不会再添加进去了
    Store.sadd("key1", "v3");
    Store.sadd("key1", "v6");
    Store.sadd("key1", "v1");
    

    在这里插入图片描述
    set

    // 查询set中数据
     var key = "key1";
     Store.multi()
          .sismember(key, 'v1') // key1集合中是否存在v1
          .sismember(key, 'v6') 
          .sismember(key, 'v2') 
          .smembers(key) // 查询key1集合中所有的value
          .exec(function (err, replies) {
            console.log("MULTI got " + replies.length + " replies");
            console.log(replies) // 代表上面查询的结果的集合
            replies.forEach(function (reply, index) { // 遍历出每一个结果返回出来
              console.log("Reply " + index + ": " + reply.toString());
            });
          });
          
    

    在这里插入图片描述

    console.log(await Store.smembers("key1")) // 直接返回所有的set
    

    在这里插入图片描述

    console.log(Store.smembers("key1"))
    

    在这里插入图片描述
    list

    // 提交list类型的数据
      Store.rpush("mylist", "bbb")
      Store.rpush("mylist", "ccc")
      Store.lpush("mylist", "aaa") // 会将这个值放到list数据的最上面
      console.log(await Store.rpop("mylist")) // ccc
      // 作用是删除list中的最后一条数据
    

    下图我最后执行了一次Store.rpush(“mylist”, “aaa”)
    在这里插入图片描述
    有序集合(SortedSets)

    Store.zadd(['zdb',0,'mysql', 1,'mongo',2,'redis'], function(err, data) {
        console.log(data);           // 3
      })
      // [地址,0,'mysql', 1,'mongo',2,'redis']
    Store.zrange(["zdb",0,2], function(err, data) { // 获取zdb中0-2之间的元素
      console.log(data);           // [ 'redis', 'mysql', 'redis' ]
    })
    Store.zrank(["zdb","mongo"], function(err, data) { // 返回mongo在zdb中的位置
    // 位置从0开始算
          console.log(data);           //1
        })
    

    在这里插入图片描述

    展开全文
  • java Session缓存

    2020-10-20 17:28:32
    1.原理:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象。HttpSession2.快速入门:1.获取HttpSession对象:HttpSession session = request.getSession();2.使用HttpSession对象...
  • 最近项目用到了redis实现session共享和缓存存储,那么实现这两点并不难,网上也有大量的例子,那么问题在于两者如何能够分别保存在不同的redis,以方便管理呢。
  • java session如何存取数据

    千次阅读 2021-03-10 05:32:31
    展开全部java session存取数据的方法:session存数32313133353236313431303231363533e58685e5aeb931333363376461据方法:publicvoidsetAttribute(Stringname,Stringvalue)方法,设定指定名字的属性的值,并将它添加...
  • 1、首先用 npm 安装 session npm install koa-session --save 2、安装成功后,接下来就是配置 session ...之后就是设置 session 的相关数据 //设置session app.keys = ['some secret hurr']; // 签名
  • javascript怎么获取session的值?

    千次阅读 2021-06-10 16:11:04
    在JavaScript开发工作,session是被经常使用的,把某一对象置于session缓存内,并在jsp页面提取session放进去的对象是很常见的,下面一起看看:1、获取Session的整条数据//后台向Session放入值的代码:...
  • 缓存实体类 package com.example.springbootcooket.cache; /** * * @classDesc: 功能描述:(缓存实体类) */ public class Cache { // key private String key; // 值 private Object value; //有效期 ...
  • 1 创建 spark_session 读取数据-加入缓存 2 SparkSQL数据分析(DSL,SQL) 1 创建 spark_session 读取数据-加入缓存 #!/usr/bin/env python # -*- coding: utf-8 -*- import os ...
  • b在登录返回之后再苹果手机上是不会将session数据清空的。但是在安卓手机上就会将session清空,这一点一直不清楚是为什么!后来就想了一个用缓存再次登录的方法。 Subject subject = SecurityUtils.getSubject();//...
  • 1.安装redis 首先确认自己电脑已经安装redis ...3.config文件下cache和session需要配置 config/cache添加 标红为新添加的配置 return [ // 默认缓存驱动 'default' => Env::get('cache.drive.
  • 用一个小dmeo来学习shiro的权限分配管理,在学习其中的在线会话管理,要用到sesssion管理,结果跟着张凯涛的shiro教程学到这里后使用了自定义实现的缓存管理和session管理,碰到了这么个错误。 测试的时候一直是拿...
  • js获取session中的值

    万次阅读 多人点赞 2018-07-09 11:55:21
    在java开发工作,session是被经常使用的,把某一对象置于session缓存内,并在jsp页面提取session放进去的对象是很常见的,下面一起看看:   1.获取Session的整条数据   //后台向Session放入值的...
  • 最近由于受工作业务需要和现有...初步完成后,底层的session并没能像mybatis那样能支持session的一级缓存(虽然在和Spring整合之后,Mybatis的session的一级缓存并没起什么作用),so,通过看源码大致了解一哈Mybati
  • 在html文件中用js获取session

    千次阅读 2021-06-11 10:08:38
    在html文件中用js获取session文章作者:网友投稿 发布时间:2008-07-25 13:03:47 来源:网络原以为很简单,事实上的确简单。但还是碰到了一个在做之前没有考虑到的问题:ajax的缓存问题。所以看似容易的问题还是要...
  • Session缓存共享的背景和意义:通常我们搭建完集群之后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群存在A、B两台服务器,用户在第一次...
  •  javax.servlet.http.HttpServletRequestWrapper 是一个开发者可以继承的类,我们可以重写相应的方法来实现session的自定义以及缓存InputStream,在程序可以多次获取request body的内容。 二、自定义seesion ...
  • session 存入redis缓存

    千次阅读 2019-05-15 11:42:19
    为什么要把SESSION保存在缓存 就PHP来说,语言本身支持的session是以文件的方式保存到磁盘文件,保存在指定的文件夹,保存的路径可以在配置文件设置或者在程序使用函数session_save_path()进行设置,但是...
  • Session中的一级缓存1.Session中的一级缓存 Hibernate框架共有两级缓存, 一级缓存Session级别缓存)、二级缓存(SessionFactory级别缓存) 在Session接口的实现包含一系列的 Java 集合, 这些 Java 集合构成了...
  • 浏览器 session的存储及获取

    千次阅读 2021-11-19 09:03:32
    session 在浏览器的存储 window.sessionStorage["signId"] = res.data.id; session 的读取 var signId= sessionStorage.getItem("signId"); 清空 window.sessionStorage["signId"] = '';
  • 传统Session与使用缓存Redis区别

    万次阅读 2018-08-25 15:12:34
    原生session在服务器端存储具有更高的可靠性,可以存储在文件、数据库、内存。使用Session维护用户登录转态的过程:  用户进行登录时,提交的登录表单,放入request;  服务器端校验用户名和密码;  通过后...
  • Hibernate3中Session缓存即一级缓存 概述 什么是Session缓存 Hibernate的一级缓存是由Session提供的,因此它存在于Session的整 个生命周期,当程序调用save()/update()/saveOrupdate()/get()等及 查询...
  • 目录 持久化类分的三种状态 瞬时态 transient : 持久态 persistent : ...通过2段代码进一步理解session缓存: 对session缓存进行管理操作方法: 一级缓存的快照区: 基于一级缓存考虑到的session...
  • 1、Hibernate对象的状态: 临时/瞬时状态、持久化状态、游离状态。 1)临时状态特点:  a)直接new出来的对象。  b)不处于session的管理  c)数据库没有对象的记录。 2)持久化状态特点:  a)当调用...
  • 前面我们学习了redis的基本使用,我们知道redis最常用的应用场景,就是数据缓存session共享,Spring Boot 针对这两个场景都做了一些优化,让我们在实际项目使用非常的方便。 数据缓存 使用 Redis 做为数据...
  • 针对这样的情况我们就可以考虑通过缓存放置到内存存储,以空间换取时间的提升,可以提高应用程序的效率;关于缓存的方法有【Cache、Session、Cookie等】,还有功能比较强大的缓存方法,如:Redis等。 本文主要...
  • Hibernate的Session缓存就是这样的一种机制。谈论Session缓存之前,先看看Hibernate的Session是什么。 Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载...
  • 在之前的这篇文章 在...我们为什么要把Session存放到数据中,以及又为什么要在子域名间跨域共享Cookie呢? Session与Cookie的关系 客户端与服务会使用一个Sessionid的Cookie值来进行客户端和服务器端会话

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 191,845
精华内容 76,738
关键字:

获取session中已缓存的数据