Redis基本操作-string
Redis的5种数据结构:string、list、hash、set和zset;
Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据。不同类型的数据结构的差异就在于 value 的结构不一样。

基本操作
1、string表示的是一个可变的字节数组;
2、Redis的字符串时动态字符串,是可以修改的;
3、内部结构实现上类似与Java的ArrayList,用预分配冗余空间的方式来减少内存的频繁分配;
4、字符串长度小于1M时,扩容都是加倍现有的空间;
5、长度大于1M时,扩容时指挥多扩1M的空间;
6、字符串最大长度为512M;
7、字符串没有提供子串插入和子串删除方法;
# 初始化字符串(set 键 值)
localhost:0>set muscleape com.muscleape.www
"OK"
# 获取字符串内容(get 键)
localhost:0>get muscleape
"com.muscleape.www"
# 获取字符串的长度(strlen 键)
localhost:0>strlen muscleape
"17"
# 获取子串(getrange 键 开始下标 结束下标)
localhost:0>getrange muscleape 4 12
"muscleape"
# 覆盖子串(setrange 键 开始位置 替换串)
localhost:0>setrange muscleape 4 wzqwzqwzq
"17"
localhost:0>get muscleape
"com.wzqwzqwzq.www"
# 追加子串(append 键 子串)
localhost:0>append muscleape .wzq
"21"
localhost:0>get muscleape
"com.wzqwzqwzq.www.wzq"
计数器
1、如果字符串的内容是一个整数,可以将字符串当做计数器来使用;
# 初始化
localhost:0>set muscleape 59
"OK"
# 获取值
localhost:0>get muscleape
"59"
# 增加(incrby 键 增加数值)
localhost:0>incrby muscleape 200
"259"
# 获取值
localhost:0>get muscleape
"259"
# 减少(decrby 键 减少数值)
localhost:0>decrby muscleape 200
"59"
# 获取值
localhost:0>get muscleape
"59"
# 增加1(incr 键)=> 等价于 => incrby 键 1
localhost:0>incr muscleape
"60"
# 减小1(decr 键)=> 等价于 => decrby 键 1
localhost:0>decr muscleape
"59"
2、计数器是有范围的,不能超过Long.Max,不能低于Long.MIN
localhost:0>set muscleape 9223372036854775807
"OK"
localhost:0>incr muscleape
"ERR increment or decrement would overflow"
# #####################################
localhost:0>set muscleape -9223372036854775808
"OK"
localhost:0>decr muscleape
"ERR increment or decrement would overflow"
删除和过期
字符串可以使用del指令进行主动删除,可以使用expire指令设置过期时间,到点会自动删除,这属于被动删除。可以使用ttl指令获取字符串的寿命;
# 设置过期时间(expire 键 有效秒数);1表示设置成功,0表示变量ireader不存在
localhost:0>expire muscleape 60
"1"
# 查询寿命(ttl 键); 还有55秒的寿命,返回-2表示变量不存在,-1表示没有设置过期时间
localhost:0>ttl muscleape
"55"
# 删除(del 键)删除成功返回1
localhost:0>del muscleape
"1"
localhost:0>get muscleape
null
Redis基本操作-string的更多相关文章
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
- 一、Redis基本操作——String(原理篇)
小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...
- 三、Redis基本操作——List
小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...
- Redis基本操作-20150608
Redis基本操作-20150608 [http://my.oschina.net/u/241255/blog/206991] Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存 ...
- Redis 基本操作(一)
redis和普通的Key-Value结构不同,Redis的Key支持灵活的数据结构,除了strings,还有hashes.lists. sets 和sorted sets等结构.正是这些灵活的数据结构 ...
- 【原】Redis基本操作
Redis基本操作 遍历操作 Pub-Sub server Lua脚本 Redis中的这些操作都是不分大小写的. 除了针对于具体类型的具体操作.还有一些其他操作. 遍历操作 SCAN cursor [ ...
- Redis之String
一.Redis之String简介 1. String是redis最基本的数据类型,一个key对应一个value. 2. String是二进制安全的,可以包含任何数据,例如图片或序列化的对象. 3. S ...
- redis对string进行的相关操作
redis对string类型操作的相关命令以及如何在python使用这些命令 redis对string类型操作的命令: 命令 语法 概述 返回值 Redis SET 命令 set key value ...
- Redis操作string
Redis简介: ''' redis: 缓存,例如两个个程序A,B之间要进行数据共享,A可以把数据存在redis(内存里),其他程序都可以访问redis里的数据, 这样通过中间商redis就实现了两个 ...
随机推荐
- streamsets k8s 部署试用
使用k8s 进行 streamsets的部署(没有使用持久化存储) k8s deploy yaml 文件 deploy.yaml apiVersion: extensions/v1beta1 kind ...
- 系列文章--从零开始学习ASP.NET MVC 1.0
从零开始学习ASP.NET MVC 1.0 (一) 开天辟地入门篇 从零开始学习 ASP.NET MVC 1.0 (二) 识别URL的Routing组件 从零开始学习 ASP.NET MVC 1.0 ...
- Oracle 11gR2 RAC 新特性说明
最近接触了一下Oracle 11g R2 的RAC,发现变化很大. 所以在自己动手做实验之前还是先研究下它的新特性比较好. 一. 官网介绍 先看一下Oracle 的官网文档里对RAC 新特性的一 ...
- 管理node.js版本的模块:n
n模块的使用: 命令 作用 yarn global add n 全局安装n n stable 升级node.js到最新稳定版 n v0.10.26 或 n 0.10.26 升级到指定版本号
- JUC线程池之 线程池的5种状态:Running, SHUTDOWN, STOP, TIDYING, TERMINATED
线程池有5种状态:Running, SHUTDOWN, STOP, TIDYING, TERMINATED. 线程池状态定义代码如下: private final AtomicInteger ctl ...
- 二、Jmeter录制脚本过程及Could not create script recorder报错、您的连接不是私密连接报错
两个报错:Could not create script recorder报错和您的连接不是私密连接报错 1.录制过程 * 打开jmeter * 点击Templated,选择Recoding模版 * ...
- jmeter ---模拟http请求/发送gzip数据
jmeter中get请求gzip数据的方法: 在jmeter线程组中添加“http信息头管理器”,并添加名称:Accept-Encoding值: gzip,deflate注:HTTP信息头Accept ...
- HighCharts定时刷新图表
假设图表容器的id为exChart,如下: <div style="height:450px;" id="chart"> 1. 首先在serie ...
- JavaScript中的继承模式总结(九)
一.总结: //js中的几种继承 //原型链的问题,包含引用类型的原型属性会被实例共享,子类型无法给超类型传递参数 function SuperType() { this.colors = [&quo ...
- 6.后台验证码-session作用域
首先要有生成验证码图片和验证码文字的逻辑 package cn.bingou.util; import java.awt.Color; import java.awt.Font; import jav ...