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

Redis常用命令(2)——String的更多相关文章

  1. 3.Redis常用命令:String

    字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的Value ...

  2. Redis常用命令

    Redis常用命令Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.1.键值相关命令2.服务器相关命令 一.键值相关命令 1.get get 键值 当 key ...

  3. 第2讲 Redis常用命令与高级应用

    目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...

  4. Redis常用命令与高级应用

    附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...

  5. Redis快速起步及Redis常用命令大全

    本系列教程内容提要 Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的 ...

  6. Redis 常用命令 大全

    Redis 常用命令 发现几个很好的 Redis 常用命令汇总大全网页,分享给小伙伴们~ 1.Redis 命令参考 http://redisdoc.com/string/index.html 2.W3 ...

  7. No-sql之redis常用命令

    转自:http://blog.csdn.net/nicewuranran/article/details/51793760 No-SQL之Redis 介绍 Redis是一种基于内存存储的key-val ...

  8. Redis常用命令手册:服务器相关命令

    Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...

  9. redis redis常用命令及内存分析总结(附RedisClient工具简介

    redis常用命令及内存分析总结(附RedisClient工具简介 by:授客 QQ:1033553122 redis-cli工具 查看帮助 连接redis数据库 常用命令 exists key se ...

随机推荐

  1. if else与switch for与foreach

    if...else...适用于变量判断 switch适用于常量判断(switch只判断一次,if else 判断多次) foreach只适用于集合和数组查询(foreach不支持增加删除操作) for ...

  2. uni-app支付功能

    扫码查看原文 前言 近期一直在使用APP开发多端应用,IOS的APP.安卓的APP和H5网页,其中开发的APP使用到了微信和支付宝的支付,在此给大家分享出来,一起使用 前置条件: 开发环境:windo ...

  3. 使用Commons FileUpload 1.3.3和Servlet 3.0上传文件

    简介 Commons FileUpload可以轻松地为web应用程序添加强大,高性能的文件上传功能.Servlet3.0之前的web应用程序需要使用Commons FileUpload组件上传文件,但 ...

  4. Hbuilder获取手机当前地理位置的天气

    前言:前面一段时间,公司项目里有一个需求 是获取当前手机地理位置当天的天气情况  将实时天气信息提供给客户.在网上搜索资料时候,发现知识很零碎,自己实现以后整理出来,方便于各位的学习与使用. 一.获取 ...

  5. 音频数据增强及python实现

    博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/13404523.html 音频时域波形具有以下特征:音调,响度,质量.我们在进行数据增强时,最好只 ...

  6. 模式串 从 0 开始的KMP算法

    /** * 看了 b站视频 BV1jb411V78H 对KMP有了一点理解,然后我写了这个代码 * 这个代码和视频里面的有一点不同,字符串是从 0 开始的,而不是从1 开始的 * 希望能够帮到学习KM ...

  7. CString类常用方法----Left(),Mid(),Right()

    参考:https://blog.csdn.net/Qingqinglanghua/article/details/4992624 CString Left( int nCount ) const;   ...

  8. c中_tmain()和main()区别

    来源参考:https://www.cnblogs.com/lucyjiayou/archive/2011/05/07/2039621.html tchar.h>可以找到,如#define _tm ...

  9. #ifndef, #define, #endif三者的作用

    #ifndef, #define, #endif 作用   #ifndef 它是if not define 的简写,是宏定义的一种,实际上确切的说,这应该是预处理功能三种(宏定义.文件包含.条件编译) ...

  10. spring-boot-route(十)多数据源切换

    前面我们已经介绍了三种方式来操作数据库,在实际开发中,往往会出现一个服务连接多个数据库的需求,这时候就需要在项目中进行灵活切换数据源来完成多个数据库操作.这一章中,我们使用jdbcTemplate来学 ...