Redis string类型常用操作

栏目: 数据库 · 发布时间: 7年前

内容简介:Redis 有 string、list、set、zset、hash数据类型。string类型是最基础的,其他类型都是在string类型上去建立的,所以了解熟悉string类型的常用操作对于学习redis非常必要。APPEND:向键的值后面追加字符串,并且返回追加后的值长度SETBIT:设置或清除指定偏移位的值(比特位从左往右算)

Redis 有 string、list、set、zset、hash数据类型。string类型是最基础的,其他类型都是在string类型上去建立的,所以了解熟悉string类型的常用操作对于学习 redis 非常必要。

APPEND:向键的值后面追加字符串,并且返回追加后的值长度

127.0.0.1:6379[7]> get hello
"world"
127.0.0.1:6379[7]> APPEND hello wonderful
(integer) 14
127.0.0.1:6379[7]> get hello
"worldwonderful"

SETBIT:设置或清除指定偏移位的值(比特位从左往右算)

GETBIT:获取指定位的比特值

BITCOUNT:获取指定字节范围中有多少位为 1

127.0.0.1:6379[7]> set andy 'a'
OK
127.0.0.1:6379[7]> get andy
"a"
127.0.0.1:6379[7]> SETBIT andy 6 1
(integer) 0
127.0.0.1:6379[7]> SETBIT andy 7 0
(integer) 1
127.0.0.1:6379[7]> GET andy
"b"
127.0.0.1:6379[7]> GETBIT andy 7
(integer) 0
127.0.0.1:6379[7]> BITCOUNT andy 0 3
(integer) 3

INCR:值递增

INCRBY:按照指定值递增

INCRBYFLOAT:指定浮点数递增

DECR:值递减

DECRBY:按照指定值递减

127.0.0.1:6379[7]> INCRBY counter 3
(integer) 9
127.0.0.1:6379[7]> DECRBY counter 2
(integer) 7
127.0.0.1:6379[7]> INCRBYFLOAT counter 1.6
"8.6"
# 如果值为非int型则会报错
127.0.0.1:6379[7]> INCR key3
(error) ERR value is not an integer or out of range

GET:返回键的值

GETRANGE:获取值指定范围

GETSET:设置值并且返回原来的值

127.0.0.1:6379[7]> GETSET key3 test_key3
"value3"
127.0.0.1:6379[7]> get key3
"test_key3"
127.0.0.1:6379[7]> GETRANGE key3 0 3
"test"

MGET:批量获取值,如果对应键不存在会使用 nil 代替,按指定顺序返回

MSET:批量设置键值对,相比 SET 节省了网络时间,但如果一次性设置太多可能会导致阻塞

127.0.0.1:6379[7]> MSET a 1 b 2 c 3 d 4
OK
127.0.0.1:6379[7]> MGET a b c d
1) "1"
2) "2"
3) "3"
4) "4"

SET:设置键值对

语法:set key value [expiration EX seconds|PX milliseconds] [NX|XX]
  expiration:设置过期时间,EX 以秒为单位, PX 以毫秒为单位
  NX:键必须不存在才能设置成功
  XX:键必须存在才能设置成功

SETNX:同等于 SET 指定 NX 参数

127.0.0.1:6379[7]> get test1
(nil)
127.0.0.1:6379[7]> GET redis
"best"
127.0.0.1:6379[7]> SETNX redis "good"
(integer) 0
127.0.0.1:6379[7]> SETNX test1 "good"
(integer) 1

SETEX:设置键值对,并且指定过期时间,同等于 SET 指定 EX 参数。

127.0.0.1:6379[7]> SETEX test1 10 "test1"
OK
127.0.0.1:6379[7]> get test1
"test1"
127.0.0.1:6379[7]> get test1
(nil)

MSETNX:等同于 MSET 和 SETNX 结合

PSETEX:等同于 SET 设置 PX 参数

SETRANGE:修改值指定范围的内容

127.0.0.1:6379[7]> set redis pest
OK
127.0.0.1:6379[7]> SETRANGE redis 0 b
(integer) 4
127.0.0.1:6379[7]> get redis
"best"

STRLEN:返回值的长度,以字节为单位,注意每个中文字符占3个字节

参考文档:《Redis开发与运维》、Redis官方文档

参考网络文件:理解setbit中的bit; https://www.zhihu.com/question/27672245

理解SETBIT、BITCOUNT等命令推荐博客: https://blog.csdn.net/u011489043/article/details/78990162


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

REST实战

REST实战

Jim Webber、Savas Parastatidis、Ian Robinson / 李锟、俞黎敏、马钧、崔毅 / 东南大学出版社 / 2011-10 / 78.00元

为何典型的企业项目无法像你为web所开发的项目那样运行得如此平滑?对于建造分布式和企业级的应用来说,rest架构风格真的提供了一个可行的替代选择吗? 在这本富有洞察力的书中,三位soa专家对于rest进行了讲求实际的解释,并且通过将web的指导原理应用到普通的企业计算问题中,向你展示了如何开发简单的、优雅的分布式超媒体系统。你将会学习到很多技术,并且随着一家典型的公司从最初的小企业逐渐成长为......一起来看看 《REST实战》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换