`
backend-develop
  • 浏览: 24550 次
社区版块
存档分类
最新评论

Redis常用命令(2)——String

阅读更多

APPEND

格式:APPEND key value

作用:在key的键值后追加value,如果key不存在,则创建key,并存入value。

返回值:追加value后的字符串长度。

示例:

192.168.1.100:6379> set testkey hello

OK

192.168.1.100:6379> append testkey " word"

(integer) 10

192.168.1.100:6379> get testkey

"hello word"

 

BITCOUNT

格式:BITCOUNT key [start] [end]

作用:计算key的值中比特位1的个数。可以用start和end指定统计的开始和结束位置。

返回值:比特位1的个数。如果key不存在,返回0。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> bitcount testkey

(integer) 4

192.168.1.100:6379> bitcount testkey 0 1

(integer) 4

192.168.1.100:6379> bitcount testkey 0 2

(integer) 4

192.168.1.100:6379> bitcount testkey 1 2

(integer) 0

 

BITOP

格式:BITOP operation destkey key [key ...]

作用:对一个或多个字符串key进行位操作,操作结果保存在 destkey 中。operation 有四种类型

AND 进行按位与操作;

OR 进行按位或操作;

XOR 进行按位异或操作;

NOT 进行按位取反操作。

如果其中一个key的字符串长度较短,则缺少的部分按0处理。

返回值:destkey 字符串的长度。

示例:

192.168.1.100:6379> set testkey1 E

OK

192.168.1.100:6379> set testkey2 F

OK

192.168.1.100:6379> bitop and testkey3 testkey1 testkey2

(integer) 1

192.168.1.100:6379> get testkey3

"D"

192.168.1.100:6379> bitop or testkey3 testkey1 testkey2

(integer) 1

192.168.1.100:6379> get testkey3

"G"

192.168.1.100:6379> bitop xor testkey3 testkey1 testkey2

(integer) 1

192.168.1.100:6379> get testkey3

"\x03"

192.168.1.100:6379> bitop not testkey3 testkey1

(integer) 1

192.168.1.100:6379> get testkey3

"\xba"

 

DECR

格式:DECR key

作用:对给定的key进行减一操作。如果key不存在,则先创建key,初始化为0,再进行减一操作。

返回值:减一后的值。如果key的值不能表示为数字,则返回错误。

示例:

192.168.1.100:6379> set testkey 9

OK

192.168.1.100:6379> decr testkey

(integer) 8

 

DECRBY

格式:DECRBY key decrement

作用:对给定的key进行减decrement操作。如果key不存在,则先创建key,初始化为0,再进行减decrement操作。

返回值:减decrement后的值。如果key的值不能表示为数字,则返回错误。

示例:

192.168.1.100:6379> set testkey 9

OK

192.168.1.100:6379> decrby testkey 3

(integer) 6

 

GET

格式:GET key

作用:获取key的字符串值。如果key不存在,返回nil。

返回值:key的字符串值。如果key的值不是字符串类型,返回错误。

 

GETBIT

格式:GETBIT key offset

作用:获取key指定bit位的值。

返回值:key指定bit位的值。如果offset超出了key的值的范围,或key不存在,则返回0。

示例:2的ASCII码为00110010

192.168.1.100:6379> set testkey 2

OK

192.168.1.100:6379> getbit testkey 0

(integer) 0

192.168.1.100:6379> getbit testkey 1

(integer) 0

192.168.1.100:6379> getbit testkey 2

(integer) 1

 

GETRANGE

格式:GETRANGE key start end

作用:获取key的值的子字符串,由start、end设置截取范围。如果偏移量为负数,表示从最后开始计数,可以用-1表示最后一个字符。如果end超出了key的值的范围,则以最后一个字符作为结束。

返回值:子字符串。

示例:

192.168.1.100:6379> set testkey "hello"

OK

192.168.1.100:6379> getrange testkey 0 1

"he"

192.168.1.100:6379> getrange testkey 2 3

"ll"

 

GETSET

格式:GETSET key value

作用:设置key的值为value,并返回key的旧值。

返回值:key的旧值。如果key不存在,返回nil。

 

INCR

格式:INCR key

作用:对给定的key进行加一操作。如果key不存在,则先创建key,初始化为0,再进行加一操作。

返回值:加一后的值。如果key的值不能表示为数字,则返回错误。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> incr testkey

(integer) 6

 

INCRBY

格式:INCRBY key increment

作用:对给定的key进行加increment操作。如果key不存在,则先创建key,初始化为0,再进行加increment操作。

返回值:加increment后的值。如果key的值不能表示为数字,则返回错误。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> incrby testkey 5

(integer) 10

 

INCRBYFLOAT

格式:INCRBYFLOAT key increment

作用:对给定的key进行加increment操作。如果key不存在,则先创建key,初始化为0,再进行加increment操作。计算结果最多只能表示小数点的后十七位。increment可以采用指数符号e,如2e5。

返回值:加increment后的值。如果key的值或increment不能表示为浮点数,则返回错误。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> incrbyfloat testkey 5.23

"10.23"

 

MGET

格式:MGET key [key ...]

作用:返回一个或多个key的值。如果有的key不存在,相应的返回值为nil。

返回值:包含多个key的值的列表。

示例:

192.168.1.100:6379> mget testkey testkey2 testkey3

1) "10.23"

2) "F"

3) "\xba"

 

MSET

格式:MSET key value [key value ...]

作用:同时设置一个或多个key的值。

返回值:OK

示例:

192.168.1.100:6379> mset testkey 1 testkey2 2

OK

 

MSETNX

格式:MSETNX key value [key value ...]

作用:当所有key都不存在时同时设置一个或多个key的值。如果有某个key存在,则不会执行任何设置操作。原子性操作,要么都设置值,要么都不设置值。

返回值:如果所有key都设置成功,返回1。如果有key设置出错,返回0。

示例:

192.168.1.100:6379> msetnx testkey 1 testkey2 2

(integer) 1

192.168.1.100:6379> msetnx testkey 1 testkey2 2

(integer) 0

 

PSETEX

格式:PSETEX key milliseconds value

作用:设置key的值为value,过期时间为milliseconds毫秒。

返回值:成功时返回 OK

示例:psetex testkey 10000 ff

 

SET

格式:SET key value [EX seconds] [PX milliseconds] [NX|XX]

作用:设置key的值为value。

EX seconds 设置过期时间为seconds秒;

PX milliseconds 设置过期时间为milliseconds毫秒;

NX 只有key不存在时,才进行设置操作;

XX 只有key存在时,才进行设置操作。

返回值:成功返回OK

示例:

192.168.1.100:6379> set testkey ff EX 5 NX

OK

192.168.1.100:6379> get testkey

"ff"

192.168.1.100:6379> set testkey ff EX 5 XX

OK

192.168.1.100:6379> set testkey ff EX 5 NX

(nil)

192.168.1.100:6379> get testkey

(nil)

192.168.1.100:6379> set testkey ff EX 5 XX

(nil)

 

SETBIT

格式:SETBIT key offset value

作用:设置key的值的offset比特位为value。如果offset超出了key的值的范围,则中间位置补零。

返回值:offset比特位的旧值。

示例:

192.168.1.100:6379> set testkey 5

OK

192.168.1.100:6379> setbit testkey 7 0

(integer) 1

192.168.1.100:6379> get testkey

"4"

192.168.1.100:6379> setbit testkey 7 1

(integer) 0

192.168.1.100:6379> get testkey

"5"

 

SETEX

格式:SETEX key seconds value

作用:设置key的值为value,过期时间为 seconds 秒。

返回值:成功时返回 OK

示例:setex testkey 10 ff

 

SETNX

格式:SETNX key value

作用:如果key不存在,则创建key值为value。如果key存在,则不操作。

返回值:成功返回1,失败返回0。

示例:

192.168.1.100:6379> setnx testkey ff

(integer) 1

192.168.1.100:6379> setnx testkey ff

(integer) 0

192.168.1.100:6379> del testkey

(integer) 1

192.168.1.100:6379> setnx testkey ff

(integer) 1

 

SETRANGE

格式:SETRANGE key offset value

作用:从key的值的offset偏移开始使用value覆盖字符串。如果offset超出了key的值的范围,则中间位置补零。

返回值:修改后的字符串的长度。

示例:

192.168.1.100:6379> set testkey hellohello

OK

192.168.1.100:6379> setrange testkey 5 word

(integer) 10

192.168.1.100:6379> get testkey

"hellowordo"

 

STRLEN

格式:STRLEN key

作用:返回字符串的长度。

返回值:字符串的长度。如果key不存在返回0;如果key不是字符串类型,返回错误。

示例:

192.168.1.100:6379> get testkey

"hellowordo"

192.168.1.100:6379> strlen testkey

(integer) 10

 

原文地址:http://caiguoqing.org/post/104

0
0
分享到:
评论

相关推荐

    Redis中最常用的String数据结构.docx

    ### Redis中最常用的String数据结构——SDS #### 引言 在探讨Redis中String数据结构的奥秘前,我们先回顾一下Redis之所以高效的原因。单线程机制避免了上下文切换,基于内存的操作大大提升了访问速度,而多路复用...

    Redis开发环境搭建及常用命令

    #### 五、Redis常用命令示例 - **字符串操作**: - `SET key value`: 设置键的值。 - `GET key`: 获取键的值。 - **列表操作**: - `LPUSH key value [value ...]`: 从列表头部插入一个或多个值。 - `RPUSH key ...

    redis命令详解

    以上是针对 Redis 的字符串类型和散列类型的基本介绍及其常用命令。接下来将继续探讨 Redis 的其他数据类型及其相关命令。 #### 三、其他数据类型 ##### 3. 列表类型(List) **列表类型** 允许在键(key)下存储一个...

    最全redis教程(安装,使用,备份,集群模式,sentinel模式).pptx

    编译完成后,将常用命令移动到自定义的 bin 目录,并根据需求修改配置文件 `redis.conf`。 2. **Redis 启动与配置** 在 `redis.conf` 文件中,可将 `daemonize` 参数设置为 `yes` 以启用守护进程模式。接着,可以...

    java面试——Redis面试专题.zip

    2. **Redis常用命令** - SET/GET:设置和获取字符串值。 - HSET/HGET:操作哈希表的键值对。 - LPUSH/RPOP:向列表的头部或尾部添加元素,并从相应位置取出。 - SADD/SREM:向集合中添加或移除成员。 - ZADD/...

    java操作redis

    最常用的库之一是Jedis,它是由Redis官方推荐的Java客户端。Jedis提供了丰富的API,涵盖了Redis的所有命令,包括字符串、哈希、列表、集合、有序集合等数据类型的操作。 1. **安装Jedis**:在项目中引入Jedis,如果...

    redis安装包,redis-desktop-manager可视化工具,连接redis jar包

    本压缩包包含Redis的安装包以及一个可视化的管理工具——Redis Desktop Manager,此外还有用于Java开发的Jedis库。 首先,我们来详细了解一下Redis的核心特性: 1. **数据结构丰富**:Redis提供了多种数据结构,...

    Java-redis-demo

    2. **连接Redis**: 首先,我们需要配置Jedis实例来连接Redis服务器。这通常涉及设置IP地址、端口号、密码(如果启用了认证)以及超时参数。 3. **基本操作**: Jedis支持多种数据类型的操作,如字符串(String)、...

    Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计(csdn)————程序.pdf

    7. **Redis 常用命令**: 包括 GET/SET、INCR/DECR、LPOP/RPOP、HGET/HSET、SADD/SREM、ZADD/ZREM 等,以及事务、管道等高级操作。 8. **单线程处理高并发**: Redis 通过单线程模型和非阻塞 I/O 复用机制,避免...

    Redis面试题.pdf

    **常用操作命令:** - **基本操作:**`GET`、`SET`、`DEL`、`EXISTS`等。 - **数据结构特定操作:**`LPUSH`、`HSET`、`SADD`、`ZADD`等。 #### 四、Redis的持久化机制 **RDB(Redis Database):** - **定义:**...

    Tedu五阶段Redis分布式锁

    ##### 4.2 其他常用Redis命令 - **KEYS**:用于查找匹配模式的键,但在生产环境中不建议使用,因为它可能导致Redis服务阻塞。 - **EXISTS**:检查一个或多个键是否存在。 - **EXPIRE/PERSIST**:为键设置过期时间,...

    Redis实战

    #### 五、Redis常用命令 **3.1 键值相关命令** - **KEYS pattern:** 查找所有符合给定模式的键。 - **EXISTS key:** 判断给定键是否存在于当前数据库中。 - **DEL key [key ...]:** 删除一个或多个键。 - **...

    redis缓存笔记

    1. **基本数据类型**:Redis提供了五种基本数据类型,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。这些数据类型为存储和操作不同类型的数据提供了便利。 2. **TTL...

    jedis-2.4.2.jar

    1. **数据类型操作**:Jedis支持Redis的五大数据类型——字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。例如,设置和获取字符串: ```java jedis.set("key", "value"); ...

    Java面试解析总结:Java+Redis+数据库+解决方案+分布式...docx

    - **Redis持久化机制**:Redis提供了两种持久化机制——AOF(Append Only File)和RDB(Redis Database Backup),它们各有优缺点,可以根据实际需求选择合适的持久化策略。 - **Redis缓存失效策略**:为了避免缓存...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    │ │ 5.Nosql Redis Jedis常用命令-悟空.mp4 │ │ │ ├─6.互联网系统垂直架构之Session解决方案 │ │ 6.互联网系统垂直架构之Session解决方案.mp4 │ │ │ ├─7.分布式框架ZooKeeper之服务注册与订阅 │ │ 7...

    study_project:学习笔记

    Jedis是Java开发人员使用Redis最常用的库,它提供了简单易用的API,用于执行各种Redis命令。例如,通过Jedis可以实现以下操作: 1. 连接与断开:使用`Jedis jedis = new Jedis("localhost", 6379);`建立连接,`...

    大数据人工智能量化投资平台.pdf

    - **Linux常用命令** - 如ls、cd、mv、rm等。 - **Linux系统进程管理** - 进程是正在运行的程序实例。 - 可以使用ps、pkill、top、htop等命令管理进程。 - **Linux启动流程** - 包括BIOS启动、内核加载、init...

    JAVA上百实例源码以及开源项目源代码

    Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...

Global site tag (gtag.js) - Google Analytics