redis的String类型以及其操作
Redis的数据类型
String类型以及操作
String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的。Redis的String可以包含任何数据,比如jpg图片或者序列化对象
Set
设置key对应的值为string类型的value
例如:我们添加一个name为lijie的键值对
127.0.0.1:> set name lijie
OK
127.0.0.1:> get name
"lijie"
127.0.0.1:> set name lambrother
OK
127.0.0.1:> get name
"lambrother"
我们再次设置name为lambrother,后面发现将前面的lijie覆盖了。
Setnx
设置key对应的值为string类型的value,如果key已经存在,返回0,nx是not exist的意思
例如我们添加一个name = lijie_new的键值对
127.0.0.1:> setnx name lijie_new
(integer)
127.0.0.1:> get name
"lambrother"
127.0.0.1:> setnx age
(integer)
127.0.0.1:> get age
""
Setex
设置key对应的值为string类型的value,并指定键值对的有效期
例如:我们添加一个haircolor = red的键值对,并制定有效期为10秒
127.0.0.1:> setex haircolor red
OK
127.0.0.1:> get haircolor
"red"
10秒后
127.0.0.1:> get haircolor
(nil) nil指的是空的意思。
127.0.0.1:> setnx haircolor red
(integer) //验证了前面的键值对失效了。
Setrange
设置指定key的value值的子字符串
例如:我们希望将lijie的126邮箱替换成为gmail邮箱
127.0.0.1:> set email lijie@lambrother.net
OK
127.0.0.1:> get email
"lijie@lambrother.net"
127.0.0.1:> setrange email li-jie.me //6代表的是原来字符串的开始替换位置的下标
(integer) //20 代表的是新字符串的长度
127.0.0.1:> get email
"lijie@li-jie.mer.net" //观察发现替换后的字符串如果长度没有原来字符串长,会将原来字符串的剩余依旧拼接
mset
一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置
127.0.0.1:> mset key1 lijie1 key2 lijie2
OK
127.0.0.1:> get key1
"lijie1"
127.0.0.1:> get key2
"lijie2"
msetnx
一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key
127.0.0.1:> msetnx key3 lambrother key4 lijie@lambrother.net key2 lijie
(integer)
127.0.0.1:> get key3
(nil)
127.0.0.1:> get key4
(nil)
127.0.0.1:> msetnx key3 lambrother key4 lijie@lambrother.net key5 lijie
(integer)
127.0.0.1:> get key3
"lambrother"
127.0.0.1:> get key4
"lijie@lambrother.net"
127.0.0.1:> get key5
"lijie"
127.0.0.1:>
getset
设置key的值并返回旧的key值
127.0.0.1:> get key5
"lijie"
127.0.0.1:> getset key5 haha
"lijie"
127.0.0.1:> get key5
"haha"
127.0.0.1:>
getrange
获取子字符串
127.0.0.1:> get email
"lijie@li-jie.mer.net"
127.0.0.1:> getrange email //获取email的value的0索引到5(包括5)索引的值
"lijie@"
127.0.0.1:>
mget
批量获取
127.0.0.1:> mget key1 key2 key3 key4 key5 key
) "lijie1"
) "lijie2"
) "lambrother"
) "lijie@lambrother.net"
) "haha"
) (nil)
) (nil)
127.0.0.1:>
incr
对key的值做加加操作,并返回新的值
127.0.0.1:> set key6
OK
127.0.0.1:> get key6
""
127.0.0.1:> incr key6
(integer)
127.0.0.1:> incr key6
(integer)
127.0.0.1:> get key6
""
127.0.0.1:>
incrby
同incr类似,区别在于必须指定增量
127.0.0.1:> get key6
""
127.0.0.1:> incrby key6
(integer)
127.0.0.1:> incrby key6 -
(integer)
127.0.0.1:>
decr
对key的值做减减操作
127.0.0.1:> decr key6
(integer)
127.0.0.1:> decr key6
(integer)
decrby
与decr类似,指定减量
127.0.0.1:> decrby key6
(integer)
127.0.0.1:> decrby key6 -
(integer)
append
给指定key的字符串追加value,返回新字符串的长度
127.0.0.1:> get name
"lambrother"
127.0.0.1:> append name .net
(integer)
127.0.0.1:> get name
"lambrother.net"
strlen
取指定key的value的长度
127.0.0.1:> strlen name
(integer)
redis的String类型以及其操作的更多相关文章
- redis对string进行的相关操作
redis对string类型操作的相关命令以及如何在python使用这些命令 redis对string类型操作的命令: 命令 语法 概述 返回值 Redis SET 命令 set key value ...
- 使用Redis数据库(String类型)
一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...
- Redis 中 String 类型的内存开销比较大
使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...
- 一:redis 的string类型 - 相关操作
*redisclient使用: =============一类:string的方法================ 介绍:string是redis的最简单类型,一个key相应一个value,strin ...
- [redis] redis 对string类型数据操作
package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...
- 深入浅出Redis02 使用Redis数据库(String类型)
一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...
- redis的list类型以及其操作
lists类型 给你个图;' lists类型以及操作List是一个链表结构,主要功能是push.pop.获取一个范围的所有值等等,操作中key理解为链表的名字.Redis的list类型其实就是每一个子 ...
- redis的Hash类型以及其操作
hashes类型 hashes类型及操作Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是0(1)(平均).hash特别适合用于存储对象.相较于将对象的 ...
- Redis中String类型的Value最大可以容纳数据长度
项目中使用redis存储,key-value方式,在Redis中字符串类型的Value最多可以容纳的数据长度是512M 官方信息: A String value can be at max 512 M ...
随机推荐
- 修改myeclipse字体与操作系统的字体一致
如果你是win7系统,想要修改Myeclipse字体,步骤如下:第一步:C:\Windows\Fonts,找到Courier New,鼠标右键-->显示第二步:Ceneral --> Ap ...
- springmvc获取bean
1.普通注解方式获取 2.springcontextholder获取 ChatHistoryService chatHistoryService = SpringContextHolder.getBe ...
- Greatest Common Increasing Subsequence
/*HDU1423 最长公共递增*/ #include <stdio.h> #include <string.h> #include <iostream> usin ...
- 【分库分表】sharding-jdbc实践—分库分表入门
一.准备工作 1.准备三个数据库:db0.db1.db2 2.每个数据库新建两个订单表:t_order_0.t_order_1 DROP TABLE IF EXISTS `t_order_x`; CR ...
- Docker-docker制作镜像
一.下载镜像 a.以daocloud为mirror下载Nginx镜像 配置daocloud为mirror,下载Nginx镜像:(daocloud官网登陆后,发现镜像里找到Nginx镜像) 下载Ngin ...
- yum安装redis phpredis扩展
转载地址:http://blog.csdn.net/musicrabbit/article/details/9729941 redis和php-redis在官方源上是没有的,需要安装其他的源,其他源的 ...
- Python面试题之Python中__repr__和__str__区别
看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): self.data = value >> ...
- Thinkphp5.0实战开发二------自动生成目录结构
序言 ThinkPHP5.0 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用\think\Build 类库.ThinkPHP5.0中模块文件夹在application ...
- saltstack之keepalived的安装配置
使用saltstack编译安装keepalived: 创建相应的目录,并在目录下创建相应的sls配置文件 [root@node1 ~]# mkdir /srv/salt/prod/keepalived ...
- 20135320赵瀚青LINUX第二章读书笔记
第二章-从内核出发 获取内核代码 使用git 获取最新提交到版本树的一个副本 $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/tor ...