文档章节

9. Redis字符串(String)

d
 double大宝
发布于 2017/02/23 00:30
字数 510
阅读 6
收藏 0

set/get/del/append/strlen
Incr/decr/incrby/decrby,一定要是数字才能进行加减
getrange/setrange:

    getrange:获取指定区间范围内的值,类似between......and的关系,从零到负一表示全部
setex(set with expire)键秒值/setnx(set if not exist):

    setex:设置带过期时间的key,动态设置。setex 键 秒值 真实值
mset/mget/msetnx

    mset:同时设置一个或多个 key-value 对。

    mget:获取所有(一个或多个)给定 key 的值。

    msetnx:同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。

getset(先get再set)

    getset:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
    简单一句话,先get然后立即set

127.0.0.1:6379> keys *
1) "myList"
2) "k1"
127.0.0.1:6379> del myList
(integer) 1
127.0.0.1:6379> keys *
1) "k1"
127.0.0.1:6379> get k1
"vb"
127.0.0.1:6379> APPEND k1 12345
(integer) 7
127.0.0.1:6379> get k1
"vb12345"
127.0.0.1:6379> STRLEN k1
(integer) 7
127.0.0.1:6379> set k2 2
OK
127.0.0.1:6379> set k3 3
OK
127.0.0.1:6379> INCR k2
(integer) 3
127.0.0.1:6379> INCR k2
(integer) 4
127.0.0.1:6379> DECR k2
(integer) 3
127.0.0.1:6379> DECR k2
(integer) 2
127.0.0.1:6379> INCRBY k2 3
(integer) 5
127.0.0.1:6379> INCRBY k2 3
(integer) 8
127.0.0.1:6379> DECRBY k2 2
(integer) 6
127.0.0.1:6379> DECRBY k2 3
(integer) 3
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379> INCR k3
(error) ERR value is not an integer or out of range

 

127.0.0.1:6379> get k1
"vb12345"
127.0.0.1:6379> GETRANGE k1 0 -1
"vb12345"
127.0.0.1:6379> GETRANGE k1 0 3
"vb12"
127.0.0.1:6379> SETRANGE k1 0 xxx
(integer) 7
127.0.0.1:6379> get k1
"xxx2345"

 

127.0.0.1:6379> setex k4 10 v4
OK
127.0.0.1:6379> ttl k4
(integer) 4
127.0.0.1:6379> get k4
"v4"
127.0.0.1:6379> ttl k4
(integer) -2
127.0.0.1:6379> get k4
(nil)
127.0.0.1:6379> keys *
1) "k2"
2) "k3"
3) "k1"
127.0.0.1:6379> get k1
"xxx2345"
127.0.0.1:6379> setnx k1 v11
(integer) 0
127.0.0.1:6379> get k1
"xxx2345"
127.0.0.1:6379> setnx k11 v11
(integer) 1
 

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6379> mget
(error) ERR wrong number of arguments for 'mget' command
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> set k4 v4 k5 v5
(error) ERR syntax error
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "k11"
4) "k2"
127.0.0.1:6379> msetnx k3 v3 k4 v4
(integer) 0
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "k11"
4) "k2"
127.0.0.1:6379> get k4
(nil)
127.0.0.1:6379> msetnx k4 v4 k5 v5
(integer) 1
127.0.0.1:6379> mget k4 k5
1) "v4"
2) "v5"
 

 

© 著作权归作者所有

共有 人打赏支持
d
粉丝 2
博文 86
码字总数 43479
作品 0
贵港
php函数、队列等

1.压缩函数(需在php.ini中开启extension=php_zip.dll) gzencode、gzdeflate和gzcompress gzencode 默认使用ZLIBENCODINGGZIP编码,使用gzip压缩格式,实际上是使用defalte 算法压缩数据,然...

llnuannuan
2017/03/15
0
0
Redis不同数据类型的的数据结构实现

原文:Redis不同数据类型的的数据结构实现 我们知道Redis支持五种数据类型, 分别是字符串、哈希表(map)、列表(list)、集合(set)和有序集合,和Java的集合框架类似,不同数据类型的数据...

杰克.陈
2017/12/19
0
0
Redis字符串类型实现内幕

摘要 Redis不仅仅是一个key-value存储,它更是一个数据结构服务,支持不同类型的值。这意味着在传统的key-value存储中,我们用string的key关联string的value。而在Redis中,我们可以存储的值...

Float_Luuu
2016/05/15
946
0
Redis 字符串类型实现内幕

本文作者:伯乐在线 -Float_Lu 。未经作者许可,禁止转载! 欢迎加入伯乐在线专栏作者。 摘要 Redis不仅仅是一个key-value存储,它更是一个数据结构服务,支持不同类型的值。这意味着在传统的...

伯乐在线
2016/06/10
0
0
Redis内存容量的预估和优化

Redis是个内存全集的kv数据库,不存在部分数据在磁盘部分数据在内存里的情况,所以提前预估和节约内存非常重要.本文将以最常用的string和zipmap两类数据结构在jemalloc内存分配器下的内存容量预...

红薯
2011/11/15
6.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Web系统大规模并发:电商秒杀与抢购

一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常...

xtof
今天
1
0
代码质量管理平台-sonarqube

在工作中,往往开发的时候会不怎么注重代码质量的人很多,存在着很多的漏洞和隐患等问题,sonarqube可以进行代码质量的审核,而且十分的残酷。。。。。接下来我们说下怎么安装 进入官网下载:...

落叶清风
今天
6
0
在Ubuntu安装和配置Sphinx

Ubuntu系统默认是配置有sphinx的,先检查一下,别多此一举。。。。。 在开始本指南之前,您需要: 一个Ubuntu 16.04服务器。 sudo的一个非root用户,您可以通过以下设置本教程 。 安装在服务...

阿锋zxf
今天
1
0
Qt编写输入法V2018超级终结版

对于qt嵌入式linux开发人员来说,输入法一直是个鸡肋问题,要么不支持实体键盘同步,要么不能汉字输入,要么不支持网页输入等,这几年通过陆续接触大量的各种输入法应用场景客户,得到真实需...

飞扬青云
今天
2
0
TypeScript基础入门之高级类型的多态的 this类型

转发 TypeScript基础入门之高级类型的多态的 this类型 高级类型 多态的this类型 多态的this类型表示的是某个包含类或接口的子类型。 这被称做F-bounded多态性。 它能很容易的表现连贯接口间的...

durban
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部