String是最简单的数据类型,一个key对应一个value,string类型是二进制安全的,redis的String可以包含任何数据,

比如jpg图片或者系列化的对象。

Set方法:

设置key对应的值为String类型的value,例如我们添加一个

name=xiaoming的键值对。

[root@marslv bin]# redis-cli -h 127.0.0.1 -p 6379 -a lh801309
127.0.0.1:6379> set name xiaoming
OK
127.0.0.1:6379> get name
"xiaoming"
127.0.0.1:6379>

如果在set同一个键的话会覆盖,如果不想覆盖怎么办?

可以用setnx方法,如果不存在添加,存在返回0

127.0.0.1:6379> setnx name xiaohong
(integer) 0

setex方法:指定设置键的有效期:

127.0.0.1:6379> setex age 10 10
OK
127.0.0.1:6379> get age
"10"
127.0.0.1:6379> get age
(nil)

setrange方法:替换子字符串

127.0.0.1:6379> set mail lv@163.com
OK
127.0.0.1:6379> SETRANGE mail 4 @gmail.com
(integer) 14
127.0.0.1:6379> get mail
"lv@1@gmail.com"
127.0.0.1:6379>

mset方法:批量插入

127.0.0.1:6379> MSET key1 1 key2 2 key3 3
OK
127.0.0.1:6379> get key1
"1"
127.0.0.1:6379> get key2
"2"
127.0.0.1:6379> get key3
"3"

msetnx 一次性设置多个key的值,成功返回ok表示所有值被设置了,

失败返回0表示没有任何值被 设置,但是不会覆盖已经存在的key

127.0.0.1:6379> MSETNX key4 4 key5 5 key3 0
(integer) 0
127.0.0.1:6379> get key4
(nil)

只要一个不成功就返回0,因为key3已经存在

getset方法:获取旧值并设置新值

127.0.0.1:6379> get key1
"1"
127.0.0.1:6379> getset key1 100
"1"
127.0.0.1:6379> get key1
"100"

getrange方法:获取指定的子字符串

127.0.0.1:6379> get mail
"lv@1@gmail.com"
127.0.0.1:6379> GETRANGE mail 0 6
"lv@1@gm"

mget方法:批量获取

127.0.0.1:6379> mget key1 key2 key3
1) "100"
2) "2"
3) "3"

incr方法:对key的值做加加操作,并返回新值

127.0.0.1:6379> get key1
"100"
127.0.0.1:6379> INCR key1
(integer) 101
127.0.0.1:6379> INCR key1
(integer) 102

incrby方法:同incr,加指定的值,key不存在的时候回设置key,

并认为原来的value是0

127.0.0.1:6379> get key1
"102"
127.0.0.1:6379> INCRBY key1 5
(integer) 107
设置正数就是加,设置负值就是减

decr方法:对key的值做减减操作。

decrby方法:同decr类似,减指定值

append方法:给指定的key的value追加

127.0.0.1:6379> get mail
"lv@1@gmail.com"
127.0.0.1:6379> append mail .net
(integer) 18
127.0.0.1:6379> get mail
"lv@1@gmail.com.net"
127.0.0.1:6379>

strlen 获取指定key的value值

127.0.0.1:6379> get mail
"lv@1@gmail.com.net"
127.0.0.1:6379> STRLEN mail
(integer) 18

redis数据类型:Strings的更多相关文章

  1. Redis数据类型Strings、Lists常用操作指令

    Redis数据类型Strings.Lists常用操作指令 Strings常用操作指令 GET.SET相关操作 # GET 获取键值对 127.0.0.1:6379> get name (nil) ...

  2. Redis数据类型-Strings

    Redis 简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI ...

  3. redis数据类型及使用场景

    Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mge ...

  4. redis数据类型-字符串类型

    Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...

  5. Redis数据类型和常用命令

    Redis相较于其它的数据库虽然简单,但是要熟记所有命令的用法也并非易事.一个简单的技巧是通过要操作的数据类型来将这些命令进行结构化. 数据类型和对应命令 所有存储于redis中的数据都对应于一个键值 ...

  6. Redis数据类型简介(十分钟快速学习Redis)

    如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...

  7. 面试官问我redis数据类型,我回答了8种

    面试官:小明呀,redis 有几种数据结构呀? 小明:8 种 面试官:那你说一下分别是什么? 小明:raw,int,ht,zipmap,linkedlist,ziplist,intset,skipli ...

  8. Redis入门到放弃系列-redis数据类型

    Redis数据类型? Redis 提供一些常用的数据类型:Strings.Lists.Sets.Sorted sets.Hashes.Arrays.Bitmap.Streams Strings(字符串 ...

  9. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  10. Redis数据类型介绍

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

随机推荐

  1. 不安装rpm包,取出rpm包里的文件

    1.查看rpm包里的文件 [root@VM_166_132 ~]# rpm -qlp mysql5.6.29-1-3.x86_64.rpm |more/etc/ld.so.conf.d/mysql-5 ...

  2. Web中的无状态含义

    REST架构设计是目前非常火热的概念,已经成为构建web服务时应该遵循的事实标准.REST约束中有一条很重要的规则是“无状态”,但“无状态”是个很抽象的概念,对刚刚接触的人来讲,很难深刻形象的理解.今 ...

  3. Excel的 OleDb 连接串的格式(Provider=Microsoft.ACE.OLEDB)

    string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;data source=" + filePath + ";Exten ...

  4. tcp协议栈

    TCP/IP是互联网的核心协议,也是大多数网络应用的核心协议.就前面一段时间面试中问到的TCP/IP问题,这里给出一个简单的小结.   TCP由RFC793.RFC1122.RFC1323.RFC20 ...

  5. JavaScript-Curry

    Currying allows you to easily create custom functions by partially invoking an existing function. He ...

  6. ionic中$ionicPopover和$ionicModal

    Popover可点多个按钮弹出同一个浮动框但内容不一样.那想要在同一页面弹出不同的浮动框怎么办呢? 这事就用到了$ionicModal,他和$ionicPopover一样的用法. 请看图: html: ...

  7. doT.js实例详解

    doT.js详细介绍 doT.js特点是快,小,无依赖其他插件.官网:http://olado.github.iodoT.js详细使用介绍 使用方法:{{= }} for interpolation{ ...

  8. Vladik and cards

    Vladik and cards time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  9. HDU 2176 取(m堆)石子游戏 尼姆博弈

    题目思路: 对于尼姆博弈我们知道:op=a[1]^a[2]--a[n],若op==0先手必败 一个简单的数学公式:若op=a^b 那么:op^b=a: 对于第i堆a[i],op^a[i]的值代表其余各 ...

  10. 回滚 rollback

    为了保证在应用程序.数据库或系统出现错误后,数据库能够被还原,以保证数据库的完整性,所以需要进行回滚. 回滚(rollback)就是在事务提交之前将数据库数据恢复到事务修改之前数据库数据状态. 回滚执 ...