原文链接:http://doc.redisfans.com/string/index.html

append key value
  将指定的值追加到key末尾,若key不存在,则创建并赋值,返回追加后的字符串长度;例:append foo bar。

bitcount key
  获取给定字符串中,被设置为1的比特位的数量;例:bitcount foo。

bitop operation destkey key [key.....]
  对一个或多个保存二进制位的字符串进行位操作,并将结果保存到deskey上:

  • bitop and destkey key [key ...] ,对一个或多个key求逻辑并,并将结果保存到destkey,例:bitop and foo foo1 foo2。
  • bitop or destkey key [key ...] ,对一个或多个key求逻辑或,并将结果保存到destkey,例:bitop or foo foo1 foo2 。
  • bitop xor destkey key [key ...] ,对一个或多个key求逻辑异或,并将结果保存到destkey,例:bitop oxr foo foo1 foo2。
  • bitop not destkey key ,对给定key求逻辑非,并将结果保存到destkey例:bitop not foo foo1。

decr key
  将key中存储的值减1,返回执行decr命令后key的值,若key不存在则会创建并将key的值初始化为0后再进行操作,若key存在但值不能转化为数字时,会返回错误;例:decr foo。

decrby key decrement
  将key中存储的值减decrement,返回执行decrby后key的值,若key不存在则会创建并将key的值初始化为0后再进行操作,若key存在但值不能转化为数字时,会返回错误;例:decrby foo 5。

get key
  返回key的值,若key不存在则返回nil,若key存储的值不是字符串则返回错误;例:get foo。

getbit key offset
  对key所存储的字符串,获取指定偏移量上的位,当offset比字符串大或者key不存在时返回0;例:getbit foo 5。

getrange key start end
  获取字符串的子串,截取范围由start和end决定(负数表示从后截取,如:-1表示最后一个字符,-2表示倒数第二个),当key不存在时,返回空;例:foo的值为“what are you want to do”获取getrange foo 0 5,本例返回“what a”。

getset key value
  将key设置为指定的value并返回旧的值,当key不存在时设置值并返回nil,当key存在但不为字符串时不能设置并返回error;例:getset foo 2。

incr key
  将key中存储的值加1,返回执行incr命令后key的值,若key不存在则会创建并将key的值初始化为0后再进行操作,若key存在但值不能转化为数字时,会返回错误;例:incr foo。

incrby key decrement
  将key中存储的值加increment,返回执行incrby后key的值,若key不存在则会创建并将key的值初始化为0后再进行操作,若key存在但值不能转化为数字时,会返回错误;例:incrby foo 5。

incrbyfloat key increment
  将key中存储的值加increment,返回执行incrby后key的值,若key不存在则会创建并将key的值初始化为0后再进行操作,若key存在但值不能转化为数字时,会返回错误;不同于incrby的是incrby只能添加整形,而incrbyfloat可以操作浮点型,当然你或许会问为啥没decrbyfloat,我试了下,这个真没有,不过可以使用负数达到一样的效果嘛;例:incrbyfloat foo 0.1,但是本人在试用时返回的结果是0.0999999999,这个不清楚是不是存储精度的问题,建议慎用。

mget key [key...]
  依次返回一个或多个key的值,若key不存在返回nil,若key存在但不是字符串返回nil;例:mget foo1 foo2 foo3。

mset key value [key value...]
  为一组或多组key设置值,该操作为原子操作,要么一组都设置成功,要么一组都设置失败;例:mset foo_1 val_1 foo_2 val_2。

msetnx key value [key value...]
  为一组或多组key设置值,该操作为原子操作,要么一组都设置成功,要么一组都设置失败,与mset不同的是msetnx中的key必须是不存在的,若有一个已存在则会整体失败;例:mset foo_1 val_1 foo_2 val_2。

setex key seconds value
  设置带生存时间的key的值,以秒为单位;例:setex foo 10 hi。

psetex key milliseconds value
  和setex类似,也是设置带生存时间的key的值,但是是以毫秒为单位;例:psetex foo 10000 hi。

set key value [ex seconds] [px milliseconds] [nx|xx]
  为key设置值,ex和px均为设置过期时间只不过单位不同,nx表示只有key不存在时才进行操作,xx表示只有key存在时才进行操作。

setnx key value
  为key设置值,若key已存在则不进行任何操作;例:setnx foo 1。

setbit key offset value
  对key所储存的字符串值,设置或清除指定偏移量上的位(bit)。当 key 不存在时,自动生成一个新的字符串值。字符串会进行伸展(grown)以确保它可以将 value 保存在指定的偏移量上。当字符串值进行伸展时,空白位置以 0 填充;例:setbit foo 2 1。

setrange key offset value
  从偏移量offset开始重写字符串,当offset超出原字符串长度时,空白以“\x00”零字节补充;例:setrange foo 5 test。

strlen key
  返回key所存储的字符串的长度,当key不存在时返回0,当key存在但不是字符串时返回错误;例:strlen foo。

Redis学习笔记(四) 基本命令:String操作的更多相关文章

  1. StackExchange.Redis学习笔记(四) 事务控制和Batch批量操作

    Redis事物 Redis命令实现事务 Redis的事物包含在multi和exec(执行)或者discard(回滚)命令中 和sql事务不同的是,Redis调用Exec只是将所有的命令变成一个单元一起 ...

  2. Redis学习笔记四:独立功能之发布与订阅

    客户端可以通过执行 subscribe 命令订阅一个或多个频道,每当有其他客户端向被订阅的频道发送消息时,频道所有的订阅者都会收到这条消息. 客户端还可以通过执行 psubscribe 命令订阅一个或 ...

  3. Redis 学习笔记四 Mysql 与Redis的同步实践

    一.测试环境在Ubuntu kylin 14.04 64bit 已经安装Mysql.Redis.php.lib_mysqludf_json.so.Gearman. 点击这里查看测试数据库及表参考 本文 ...

  4. Redis学习笔记(二)Redis支持的5种数据类型的总结之String和Hash

    引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程 ...

  5. openresty 学习笔记四:连接mysql和进行相关操作

    openresty 学习笔记四:连接mysql和进行相关操作 毕竟redis是作为缓存,供程序的快速读写,虽然reidis也可以做持久化保存,但还是需要一个做数据存储的数据库.比如首次查询数据在red ...

  6. python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  7. Redis学习笔记(二) Redis 数据类型

    Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) ...

  8. Redis学习笔记4-Redis配置详解

    在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...

  9. Redis学习笔记7--Redis管道(pipeline)

    redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis ...

  10. Redis学习笔记(1)——Redis简介

    一.Redis是什么? Remote Dictionary Server(Redis) 是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value ...

随机推荐

  1. RocketMQ之消息中间件需要解决的问题

    消息中间件需要解决哪些问题 1.Publish/Subscribe(发布订阅) 发布订阅是消息中间件最基本的功能 2.Message Priority(消息优先级) 在消息队列中,每条消息都有不同的优 ...

  2. a better git log

    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d ...

  3. oracle 表锁定解锁

    Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作,那么这些操作是怎么实现的呢?本文我们主要就介绍一下这部分内容.(1)锁表查询的代码有以下的形式:select count( ...

  4. deeplearning4j – 分布式DL开源项目

    原文链接:http://www.52ml.net/16157.html Deeplearning4j is the first commercial-grade deep learning libra ...

  5. 使用boost.python进行混合开发

    使用boost.python进行混合开发 原文请参照官网和各方参考,本文有改动! 参考链接:http://blog.csdn.net/lanbing510/article/details/121979 ...

  6. (转)基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts

    http://www.cnblogs.com/wuhuacong/p/3736564.html 在我们做各种应用的时候,我们可能都会使用到图表统计,以前接触过一些不同的图表控件,在无意中发现了图表控件 ...

  7. GDI 线段绘制示例程序

    #include <windows.h> #include <strsafe.h> #include <stack> typedef struct tagLINE ...

  8. 更新时间戳.txt

    UPDATE bbs2 INNER JOIN time1 ON bbs2.AnnounceID = time1.AnnounceID SET bbs2.asptime = time1.asptime

  9. 利用vue-gird-layout 制作可定制桌面 (二)

    添加资源池 根据项目需求 添加, 实例两个数据 { "mainData": [ { "x": 0, "y": 0, "w" ...

  10. webstorm + babel

    网上有很多关于如何设置babel的.我学习着设置,但总差那么几步,没能满足我的需求. 我使用的是webStorm2017.1版本. babel安装准备 使用webStorm自带的filewatcher ...