redis数据类型:Strings

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

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

Set方法:

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

name=xiaoming的键值对。

[[email protected] 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 [email protected]
OK
127.0.0.1:6379> SETRANGE mail 4 @gmail.com
(integer) 14
127.0.0.1:6379> get mail
"[email protected]@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
"[email protected]@gmail.com"
127.0.0.1:6379> GETRANGE mail 0 6
"[email protected]@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
"[email protected]@gmail.com"
127.0.0.1:6379> append mail .net
(integer) 18
127.0.0.1:6379> get mail
"[email protected]@gmail.com.net"
127.0.0.1:6379>

strlen 获取指定key的value值

127.0.0.1:6379> get mail
"[email protected]@gmail.com.net"
127.0.0.1:6379> STRLEN mail
(integer) 18

时间: 2024-11-05 01:18:45

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

redis数据类型-strings

redis提供五种数据类型:string,hash,list,set及zset(sortedset). 1.      String(字符串) string是最简单的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似.但它的功能更丰富. redis采用结构sdshdr和sds封装了字符串,字符串相关的操作实现在源文件sds.h/sds.c中.在Redis中字符串类型的Value最多可以容纳的数据长度是512M 在Red

redis数据类型简介1

数据类型 Strings 字符串是redis最基础类型数据.redis字符串是二进制安全的,这意味着一个redis字符串可以包含任意类型的数据,例如JPEG图像或者一个序列化的Ruby对象. 一个字符串最大可以达到512M. 你可以使用redis字符串做很多有趣的事情,例如:(1)可以用作原子计数器.配合使用INCR命令中的:INCR,DECR,INCRBY(2)使用APPEND命令扩展一个字符串(3)使用GETRANGE和SETRANGE命令,随机访问子字符串(4)使用GETBIT和SETBI

redis数据类型及使用场景

Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mget 等. 应用场景:String是最常用的一种数据类型,普通的key/ value 存储都可以归为此类.即可以完全实现目前 Memcached 的功能,并且效率更高.还可以享受Redis的定时持久化,操作日志及 Replication等功能.除了提供与 Memcached 一样的get.set.in

redis数据类型

Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个键最大能存储512MB. 实例: 在以上实例中我们使用了 Redis

Redis数据类型之字典

Redis数据类型之字典 标签(空格分隔): redis redis的字典 字典又称符号表(symbol table),关联数组(associative array),或者映射(map).是用于保存键值对的一种抽象数据结构. 字典的key是唯一的,对键值对的操作基本都是基于key来操作的.redis中的数据库底层是使用字典来实现的,对于数据库的增删改查都是基于字典来实现的.redis的哈希键也是基于字典来实现的. 具体的实现是在src下的dict.h和dict.c文件 字典的数据结构 哈希表结点

Redis数据类型之链表

Redis数据类型之链表 链表的实现 redis的列表的底层实现就是一个双链表,源码在src下的adlist.h和adlist.c 链表的结点数据结构 /* * 双端链表节点 */ typedef struct listNode { // 前置节点 struct listNode *prev; // 后置节点 struct listNode *next; // 节点的值 void *value; } listNode; 链表数据结构 /* * 双端链表结构 */ typedef struct l

Redis数据类型简介

Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个键最大能存储512M

Lua 数据类型和 Redis 数据类型之间转换

当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua 脚本的返回值也会被转换成 Redis 协议(protocol),然后由 EVAL 将值返回给客户端. 数据类型之间的转换遵循这样一个设计原则:如果将一个 Redis 值转换成 Lua 值,之后再将转换所得的 Lua 值转换回 Redis 值,那么这个转换所得的 Redis 值应该和最初时的 Redi

Redis 学习笔记(二) Redis 数据类型

Redis 数据类型 Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) string 类型是 redis 最基本的类型,很多人说如果去除本地持久化,只使用 string 的话,那 redis 就是一个 memcached.string 类型,一个 key 对应一个 value,一个 value 最大能存储512MB的数据.string 类型是二进

Redis-cluster集群【第一篇】:redis安装及redis数据类型

Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在去看redis的源码能看懂50-60%. redis目前最大的集群应该是新浪的应该. redis目前是vmvaer来支持的,很多的开源软件都需要某些组织来支持的.如果一个开源软件没有金钱来支持的话很难走的持久 二.Redis和Memcache对比 持久化:以电商举例,session用memcache