Redis学习笔记(四) 基本命令:String操作
原文链接: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操作的更多相关文章
- StackExchange.Redis学习笔记(四) 事务控制和Batch批量操作
Redis事物 Redis命令实现事务 Redis的事物包含在multi和exec(执行)或者discard(回滚)命令中 和sql事务不同的是,Redis调用Exec只是将所有的命令变成一个单元一起 ...
- Redis学习笔记四:独立功能之发布与订阅
客户端可以通过执行 subscribe 命令订阅一个或多个频道,每当有其他客户端向被订阅的频道发送消息时,频道所有的订阅者都会收到这条消息. 客户端还可以通过执行 psubscribe 命令订阅一个或 ...
- Redis 学习笔记四 Mysql 与Redis的同步实践
一.测试环境在Ubuntu kylin 14.04 64bit 已经安装Mysql.Redis.php.lib_mysqludf_json.so.Gearman. 点击这里查看测试数据库及表参考 本文 ...
- Redis学习笔记(二)Redis支持的5种数据类型的总结之String和Hash
引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程 ...
- openresty 学习笔记四:连接mysql和进行相关操作
openresty 学习笔记四:连接mysql和进行相关操作 毕竟redis是作为缓存,供程序的快速读写,虽然reidis也可以做持久化保存,但还是需要一个做数据存储的数据库.比如首次查询数据在red ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- Redis学习笔记(二) Redis 数据类型
Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) ...
- Redis学习笔记4-Redis配置详解
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...
- Redis学习笔记7--Redis管道(pipeline)
redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis ...
- Redis学习笔记(1)——Redis简介
一.Redis是什么? Remote Dictionary Server(Redis) 是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value ...
随机推荐
- RecyclerView实现终极画廊效果 中间突出并且压住两侧布局
先给大家上个gif 要不然下面很枯燥 忘记原来在哪里看到了..... 这个效果我找了NNNNNN长时间,,,我认为凭我现在的能力 写出来需要好久 所以 退而求其次找大神写好的... 你们不要小看了这个 ...
- iOS中容易混淆的知识点(持续更新中)
1.成员变量和属性的区别 @interface Person : NSObject { NSString *_sex; } @property (nonatomic, copy) NSString * ...
- MySQL 5.6 Reference Manual-14.7 InnoDB Table Compression
14.7 InnoDB Table Compression 14.7.1 Overview of Table Compression 14.7.2 Enabling Compression for a ...
- 【Oracle】回收站
☆回收站概念 oracle从10g开始,引入回收站(Recycle Bin)概念.回收站的全称叫:Tablespace Recycle Bin.回收站是一个逻辑区域,oracle并没有为它分配物理空间 ...
- C#自定义控件实现控件随窗口大小改变
1.新建用户控件,取名MyForm. 2.将默认的UserControl改成Form 3.在类中添加以下代码 private float X, Y; //获得控件的长度.宽度.位置.字体大小的数据 p ...
- C语言-重写strupr函数
一.重写函数 Action(){ //重写strupr,小写变大写 char *desc; char *str="123abcd*"; desc=(char *)malloc(10 ...
- MindManager 2019新版上市 ,了解一下!
所有的等待都是值得的!MindManager在蓄力一年后,给各位思维导图爱好者带来了全新的MindManager 2019 for Windows.全新的版本包含英语.德语.法语.俄语.中文.日语,新 ...
- <td colspan="6"></td>代表这个td占6个td的位置
<td colspan="6"><span class="order-time">2017-10-11 14:55:23</spa ...
- Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置
0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 ...
- django创建第一个子文件夹
1.首先安装python, 我安装了Python2.7的版本,安装在了D:\Python25\2.接着安装django,我下载了django 1.6的版本.3. 安装完了之后,打开cmd,然后可以检验 ...