zoukankan      html  css  js  c++  java
  • redis 学习(3)-- String 类型

    redis 学习(3)-- String 类型

    String-结构

    • 结构:Key-Value对
    • Value:可以是字符串、数字,也可以是二进制数组
    • 限制:Value最大值为512MB

    String-常用命令

    命令 含义
    get key 获取指定 key 的值
    set key value 设置指定 key 的值
    incr key 将 key 中存储的数字值增一
    incrby key increment 将 key 所存储的数字值加上给定的增量
    decr key 将 key 中存储的数字值减一
    decrby key decrement 将 key 所存储的数字值减去给定的减量
    setnx key value 只有当 key 不存在时才设置 key 的值
    set key second value u设置指定 key 的值,同时设置该 key 的过期时间,单位为秒
    set key value xx 只有 key 存在时才设置 key 的值
    mget key1 [key2...] 获取所有(一个或多个)指定 key 的值
    mset key1 value1 [key2 value2...] 同时设置一个或多个 key-value 对
    1. get key 、incr key、incrby key increment、decr key

    演示

    实战

    1:

    实现如下功能:记录网站每个用户个人主页的访问量?

    incr userid:pageview
    

    由于 redis 是单线程的,所以非常适合用作计数器,在高并发下没有竞争。

    2:

    实现如下功能:缓存视频的基本信息(数据源在MYSQL中)伪代码

    业务过程如下:

    伪代码:

    public VideoInfo get(long id) {
    	String redisKey = redisPrefix + id;
    	VideoInfo videoInfo = redis.get(redisKey);
    	if (videoInfo == null) {
    		videoInfo = mysql.get(id);
    		if(videoInfo != null) {
    			//序列化
    			redis.set(redisKey, serialize(videoInfo));
    		}
    	}
    }
    


    当我们通过 id 查找相关信息,redis 做中间层,当数据缓存在 redis 中时,我们直接返回该数据,如果 redis 中不存在,就到 MYSQL 中查找,查找成功后在返回。

    3:

    实现如下功能:分布式 id 生成器

    incr id
    

    (原子操作)

    2. set key value、setnx key value、set key value xx

    演示

    3. mget key1 [key2...]、mset key1 value1 [key2 value2...]

    演示

    get 和 mget 的区别



    由于 redis 存储在内存中,所以我们可以知道执行命令的速度很快,即命令时间相差不大,但是网络时间涉及到网速快慢的问题,明显 mset 只请求一次网络的时间比 get 方法请求多次网络的时间开销小,效率也更高。

  • 相关阅读:
    ATL接口返回类型&&ATL接口返回字符串BSTR*
    不允许使用抽象类类型
    error C2039: 'SetDefaultDllDirectories'错误解决办法<转>
    directshow 虚拟摄像头 实例 代码解读
    UML建模之时序图(Sequence Diagram)<转>
    【干货】Chrome插件(扩展)开发全攻略(不点进来看看你肯定后悔)<转>
    在VS13上编译通过的代码放在12上编译-错误:l __dtoui3 referenced in function _event_debug_map_HT_GROW
    struct 方法使用
    2014华为机试题目
    贪心-poj-2437-Muddy roads
  • 原文地址:https://www.cnblogs.com/weixuqin/p/10929316.html
Copyright © 2011-2022 走看看