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 ...
随机推荐
- HTML5 audio 如何实现播放多个MP3音频
<audio>标签是HTML5中的新标签,定义声音用于嵌入音频内容,比如音乐或其他音频流.用的比较多音频格式是.mp3. <audio>标签常用属性如下表 属性 值 描述 au ...
- draw9patch在SDK->tools找不到,在Android Studio点击图片没找到draw9patch
draw9patch在SDK->tools找不到,在Android Studio点击图片没找到draw9patch 第一个问题: Google把draw9patch集成在Android Stud ...
- outlook 2010 搜索不到邮件
打开outlook 2010 文件, 选项, 加载项, 转到 windows search eamil indexer(打勾) 关闭outlook 控制面板, 索引选项, 高级, 重建索引
- 7 Python+Selenium浏览器设置
[环境信息] python3.6+selenium3.0.2+Firefox50.0+win7 [浏览器设置方法] 1.浏览器最大化:maximize_window() 2.设置浏览器宽.高:set_ ...
- 通过nvm 切换 npm 版本
通过 nvm-windows 更新 npm 1.先安装 nvm-windows .成功后可在命令窗口 输入nvm 查看到 nvm的版本号. 2..在命令窗口输入 nvm list,查看当前使用的 no ...
- CSV文件模块的使用
---恢复内容开始--- 1.CSV模块使用流程 1.导入模块 impport CSV 2.打开文件(xxx.csv) with open('xxx.csv','a',encoding='utf-8' ...
- 07 Django组件-中间件
中间件 方式一:函数式:中间件[middleware],也叫钩子方法[钩子函数],hook Django中的中间件是一个轻量级.底层的插件系统,可以介入Django的请求和响应处理过程,修改Djang ...
- 如何在IE11中设置兼容模式?设置的具体方法
IE11浏览器软件版本:简体中文正式版 For Win7网络工具立即查看 1.同样进入需要兼容性模式的网站,点击菜单栏位工具--F12开发者人员工具!如下图所示. 2.在开发者选项左下侧菜单栏位,点击 ...
- adb简单使用
一.基本命令 1.查看目前连接的设备/虚拟器的状态 adb devices
- 03springMVC注解式控制器开发
注解式控制器开发简介 注解式控制器开发HelloWorld HelloWorld的运行流程 处理器定义 REST简介 URL路径映射 数据绑定 不同的Model有相同的属性的处理 静态资源的处理 1 ...