redis数据类型-字符串类型
Redis数据类型
字符串类型
字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据。你可以用其存储用户的邮箱、JSON化的对象甚至是一张图片。一个字符串类型键允许存储的数据的最大容量是512MB。
注释:在Redis 3.0版本中可能会放宽这一限制,但无论如何,考虑到Redis的数据是使用内存存储的, 512MB的限制已经非常宽松了。
字符串类型是其他4种数据类型的基础,其他数据类型和字符串类型的差别从某种角度来说只是组织字符串的形式不同。例如,列表类型是以列表的形式组织字符串,而集合类型是以集合的形式组织字符串。
如果只使用redis中的字符串类型,且不使用redis的持久化功能,那么,redis就和memcache非常非常的像了。这说明strings类型是一个很基础的数据类型,也是任何存储系统都必备的数据类型。
赋值与取值
- SET key value
- GET key
- SET和GET是Redis中最简单的两个命令,它们实现的功能和编程语言中的读写变量相似,如key="hello"在Redis中是这样表示的:
redis> SET key hello
OK
想要读取键值则更简单:
redis> GET key
"hello"
当键不存在时会返回空结果。
递增数字
INCR key
前面说过字符串类型可以存储任何形式的字符串,当存储的字符串是整数形式时, Redis
提供了一个实用的命令INCR,其作用是让当前键值递增,并返回递增后的值,用法为:
redis> INCR num
(integer) 1
redis> INCR num
(integer) 2
当要操作的键不存在时会默认键值为0,所以第一次递增后的结果是1。当键值不是整数时Redis会提示错误:
redis> SET foo lorem
OK
redis> INCR foo
(error) ERR value is not an integer or out of range
增加指定的整数
INCRBY key increment
INCRBY命令与INCR命令基本一样,只不过前者可以通过increment参数指定一次增加的
数值,如:
redis> INCRBY bar 2
(integer) 2
减少指定的整数
- DECR key
- DECRBY key decrement
- DECR命令与INCR命令用法相同,只不过是让键值递减,例如:
redis> DECR bar
(integer)4
而DECRBY命令的作用不用介绍想必读者就可以猜到, DECRBY key 5 相当于INCRBY key -5。
增加指定浮点数
INCRBYFLOAT key increment
INCRBYFLOAT 命令类似INCRBY命令,差别是前者可以递增一个双精度浮点数,如:
redis> INCRBYFLOAT bar 2.7
"6.7"
redis> INCRBYFLOAT bar 5E+4
"50006.69999999999999929"
向尾部追加值
APPEND key value
APPEND作用是向键值的末尾追加value。如果键不存在则将该键的值设置为value,即相
当于SET key value。返回值是追加后字符串的总长度。例如:
redis> SET key hello
OK
redis> APPEND key " world!"
(integer) 12
此时key的值是"hello world!"。 APPEND命令的第二个参数加了双引号,原因是该参数包
含空格,在redis-cli中输入需要双引号以示区分。
获取字符串长度
STRLEN key
STRLEN命令返回键值的长度,如果键不存在则返回0。例如:
redis> STRLEN key
(integer)12
redis> SET key 你好
OK
redis> STRLEN key
(integer)6
前面提到了字符串类型可以存储二进制数据,所以它可以存储任何编码的字符串。例子
中 Redis接收到的是使用UTF-8编码的中文,由于“你”和“好”两个字的UTF-8编码的长度都是3,所以此例中会返回6。
同时获得/设置多个键值
MGET key [key …]
MSET key value [key value …]
MGET/MSET与GET/SET相似,不过MGET/MSET可以同时获得/设置多个键的键值。例
如:
redis> MSET key1 v1 key2 v2 key3 v3
OK
redis> GET key2
"v2"
redis> MGET key1 key3
1) "v1"
2) "v3"
redis数据类型-字符串类型的更多相关文章
- 第二百九十五节,python操作redis缓存-字符串类型
python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...
- python之Redis的字符串类型操作
redis的数据类型: 字符串型 哈希 列表 集合 有序集合 1.String(字符串类型) set 命令: 设置一个键和值,键存在则只覆盖,返回ok > s ...
- Redis入门---字符串类型
阅读目录 1.keys * 命令 2.判断一个键是否存在(exists key) 3.删除键 4.获取键值的数据类型 5 递增数字(incr) 6.增加指定的整数 (INCRBY) 7.减少指定的整数 ...
- redis之(四)redis的字符串类型的命令
[一]获得符合规则的键名列表 -->命令 keys [pattern] -->keys命令需要遍历Redis中所有的键,当键的数量比较多会影响性能,生产环境不建议用 -->pat ...
- Redis之字符串类型命令
String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value. string 类型是二进制安全的.意思是 ...
- Delphi 常用数据类型 字符串类型 数据类型等等
字符串类型 Delphi有三种类型的字符: ●AnsiChar这是标准的1字节的ANSI字符,程序员都对它比较熟悉. ●WideChar这是2字节的Unicode字符. ●Char在目前Delphi早 ...
- python学习笔记(5-1)-基本数据类型-字符串类型及操作
五.字符串处理函数 len(x):字符串x的长度.如len("12345")结果为5 str(x):任意类型x所对应的字符串形式. >>> str(123) ...
- redis:string字符串类型的操作
1. string字符串类型的操作: 1.1. set 设置单个值 语法:set key value [EX seconds] [PX milliseconds] [NX|XX] 注: EX seco ...
- redis数据类型(字符串)
字符串 这是最简单Redis类型.如果你只用这种类型,Redis就像一个可以持久化的memcached服务器 127.0.0.1:6379> set mykey somevalue OK 127 ...
随机推荐
- Gulp 插件及其使用
前端现在有很多的自动打包工具,各有优缺点,而gulp作为其中的一员,也有着很受人们的青睐,简单粗暴,然而gulp本身并没有提供很多的API,真正的一些工作则是靠着插件完成的,本文简单介绍一些常用的gu ...
- 一个大四毕业生想对自学Android的大学生说一些话
本人大四,经历了秋招和春招,秋招拿了华为的android offer,春招是拿的java后台开发的offer,一路走来,感慨很多,有一些话想对在自学Android的大学生说.本文只是帮助像我一样的大学 ...
- 如何迭代输出某文件夹下的所有文件的路径?(os.walk用法)
查看目录结构: tree 查看文件结构: os.walk 查看os.walk用法: help(os.walk) For each directory in the directory tree roo ...
- instr函数的"重载"
.带两个参数的 --模糊查询,comp表的Mobel和show_name字段中含有'张' INSTR(COMP.MOBILE .带三个参数的 ) from dual; 结果: 第三个参数:从字符串&q ...
- 模拟Vue之数据驱动
一.前言 在随笔"模拟Vue之数据驱动1"结尾处,我们说到如果监听的属性是个对象呢?那么这个对象中的其他属性岂不就是监听不了了吗? 如下: 倘若user中的name.age属性变化 ...
- Offcanvas 自适应窗口示例
<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8&qu ...
- 为什么会有OPTIONS请求
在做项目时,很多时候发送一个post请求,是先发送一个option请求,然后再发送post请求,一直这么用之前也没有仔细思考,今天有时间,好好了解一下为什么会多一次请求. 疑问1:什么是options ...
- JavaSE(六)包装类、基本类型和字符串之间的转换、==和equals的区别
一.包装类 Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足, 在设计类时为每个基本数据类型设计了一个对应的类进行代表,这 ...
- PE 001~010
题意: 001(Multiples of 3 and 5):对小于1000的被3或5整除的数字求和. 002(Even Fibonacci numbers):斐波那契数列中小于等于4 000 000的 ...
- UVA10382-Watering Grass-贪心 NYOJ6-喷水装置(一)-贪心
10382 - Watering Grass Time limit: 3.000 seconds n sprinklers are installed in a horizontal strip of ...