Redis使用学习汇总(一)之字符串

Redis数据结构:字符串


安装

下载安装包

官网下载   https://redis.io/download/

Linux下安装

解压压缩包到安装目录

编译安装

make
make PREFIX=/opt/redis install

修改配置文件redis.conf

vi redis.conf
conf修改daemonize yes

基本使用

  • 后台启动
    ./bin/redis-server ./redis.conf
  • 客户端启动
    ./bin/redis-cli
  • ping测试
    ping [message]

在这里插入图片描述


数据结构

  • 字符串
    在这里插入图片描述

字符串

  • 给字符串键设置值
    1.set命令  格式:set key value [XX|NX]
    成功创建字符串键后将返回OK作为结果。
    set key value
    在这里插入图片描述
    NX选项作用为:set命令只会在键没有值的情况下执行设置操作并返回OK表示设置成功,否则返回nil表示设置失败。
    set key value NX
    在这里插入图片描述
    XX选项作用为:set命令只会在键有值的情况下执行设置操作并返回OK表示设置成功,否则返回nil表示设置失败。
    set key value XX
    在这里插入图片描述
    2.getset命令  格式:getset key value
    获取旧值并设置新值,若被设置的键并不存在于数据库,则返回空值nil作为旧值。
    getset key value
    在这里插入图片描述
    3.mset命令  格式:mset key value [key value …]
    mset命令可以一次为多个字符串键设置值,成功创建字符串键后将返回OK作为结果。
    mset key value [key value ...]
    在这里插入图片描述
    4.msetnx命令  格式:msetnx key value [key value …]
    msetnx命令与mset的主要区别在与msetnx只会在所有给定键都不存在的情况下对键进行设置,而不会像mset直接覆盖键已有值;若给定键当中有一个键已经有值,则msetnx放弃对所有给定键的设置操作。
    执行设置操作成功返回1,否则返回0。
    msetnx key value [key value ...]
    在这里插入图片描述
    注意
    Redis数据库是以无序的方式存放数据库键的,一个新加入的键可能出现在数据库的任何位置。

  • 获取值
    1.get命令  格式:get key
    若给定的字符串键在数据库中并没有关联值,将返回一个空值nil。
    get key
    在这里插入图片描述
    2.mget命令  格式:mget key [key …]
    mget返回一个列表作为结果。列表按照用户执行命令使给定键的顺序排列键值。若给定的字符串键在数据库中并没有关联值,将返回一个空值nil。
    mget key [key ...]
    在这里插入图片描述

  • 获取字符串值的字节长度
    1.strlen命令  格式:strlen key
    对于不存在的键将返回0。
    strlen key
    在这里插入图片描述

  • 字符串值的索引
    每个字符串都是由一系列连续的字节组成,所以每个字节都有相对应索引。Redis为字符串键提供了索引操作命令,允许用户通过正数索引或者负数索引对值的某个字节或某部分进行处理。
    字符串值的正数索引以0开始从开头向结尾递增;
    字符串值的负数索引以-1开始从结尾向开头递减。
    1.getrange命令  格式:getrange key start end
    获取从start索引开始到end索引结束的字符串值内容,包括start和end索引上的值,取闭区间索引范围。
    getrange key start end
    在这里插入图片描述
    2.setrange命令  格式:setrange key index substitute
    将值从索引index开始的部分替换为指定的内容,被替换内容长度取决于新内容长度。执行完成后会返回字符串值当前长度。
    setrange key index substitute
    在这里插入图片描述
    注意
    1)自动扩展被修改的字符串
    当给定的新内容比被替换的内容更长时,setrange命令会自动扩展被修改的字符串值,确保内容正常写入。
    2)填充空字节
    当给定的index索引超过值长度时,字符串值末尾到index-1之间的部分将使用空字节填充,即二进制位设置为0。

  • 追加内容
    1.append命令  格式:append key suffix
    将给定内容追加到已有值的末尾,执行完成后会返回字符串值当前长度。若键不存在则初始化值为空字符串""然后追加,相当于set命令效果。
    append key suffix
    在这里插入图片描述

  • 数字计算
    当字符串键存储的值能被Redis解释为整数时,就可执行加法或减法操作。
    1.incrby命令  格式:incrby key num
    用于为整数值加上指定的整数,返回加法操作之后的值。
    incrby key num
    在这里插入图片描述
    2.decrby命令  格式:decrby key num
    用于为整数值减去指定的整数,返回减法法操作之后的值。
    decrby key num
    在这里插入图片描述
    3.incr、decr命令  格式:decr key、decr key
    加1、减1操作。
    4.incrbyfloat命令  格式:incrbyfloat key num
    用于执行浮点数加法操作,把一个浮点数增量加到键值上,返回加法操作之后的值。
    incrbyfloat key num
    在这里插入图片描述
    注意
    1)incrby/decrby命令,当值不能被Redis解释为整数时将返回error
    在这里插入图片描述
    2)键不存在时,会先初始化为0,然后执行加减操作
    在这里插入图片描述
    3)使用incrbyfloat处理浮点数时最多只保留小数点后17位,四舍五入
    在这里插入图片描述

  • 常见用法
    1.缓存
    2.锁
    3.ID生成器
    4.计数器


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值