Redis基本操作-string

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

1096164-20181114105025535-345371419.jpg

基本操作

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

转载于:https://www.cnblogs.com/muscleape/p/9956775.html

ubuntu 安装node和npm 在ubuntu中经常需要用到node ,npm,因为npm基本会和node同时安装,所以只需要安装node即可。可以使用 nvm(Node Version Manager)来管理你的 Node.js 版本。 阅读详情

相关推荐

部署资源管理系统chemx

资源管理系统的部署教程

weixin_40784215的博客 815

Redis字符串(string)操作详解

序言         Redis的string操作是日常工作中用的比较多的操作,熟记最好,但就是记不住,哎,就只有多看几遍了! ## 字符串 一种最基本的Redis值类型(字节数组)。Redis字符串是**二进制**安全的,一个Redis字符串能包含任意类型的数据。例如: 一张JPEG格式的图片或者一个序列化的Ru...

放肆桀骜 464

STM32实战:滑模观测器与PLL锁相环融合的FOC无感控制精解

本文深入解析了STM32平台下结合滑模观测器(SMO)与PLL锁相环的无感FOC控制技术。通过实战案例详细介绍了PLL锁相环在消除SMO高频抖振、提升角度跟踪精度方面的关键作用,并分享了工程调参技巧、C语言实现细节及系统联调方法,为电机控制开发者提供了一套完整的解决方案。

weixin_30838873的博客 184

redis基本操作——string、list、hash

redis(Remote Dictionary Server)是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中介。应为是内存数据库,一般都是简单的存取操作,所以读取时间非常快。在linux中启动redis的命令为raw表示识别中文字符,如果不加可能会导致不识别的情况。redis中的数据都是以 key value的形式存在。redis支持丰富的数据类型:string字符串、list列表、hash散列(字典)、set集合、zset有序集合。

m0_58457640的博客 891

经典烧脑算法逻辑题--高楼扔鸡蛋:最少次数测出鸡蛋摔碎临界点。

如果在第2层没碎,换到第3层扔.......如果第59层没碎,换到第60层扔;有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。因此,我们尝试每10层扔一次,第一次从10层扔,第二次从20层扔,第三次从30层......一直扔到100层。如果第一枚鸡蛋,在50层碎了,第二枚鸡蛋,就从第1层开始扔,一层一层增长,一直扔到第49层。如果第一枚鸡蛋在50层没碎了,则继续使用二分法,在剩余楼层的一半(75层)往下扔。

借雨醉东风的博客 1804

[特殊字符] 智能补货(AI-driven Replenishment)完整实施方案

补货量=预测需求+安全库存−当前库存补货量 = 预测需求 + 安全库存 - 当前库存补货量=预测需求+安全库存−当前库存。:基于 LSTM/Transformer 预测未来 30/60/90 天的销量。

nbsaas-boot基于Request-Response的企业级快速开发框架 957

【Redis】String 的基本操作和场景说明

字符串的基本操作

上善若水 869

嵌入式工程师成长之路(2)——电路设计

为什么你的电源模块总是发热炸机?DC/DC和LDO选型的“潜规则”你踩坑了吗? LM2596降压芯片用错电容导致输出振荡?LED恒流驱动设计让灯珠寿命缩水50%?24V转12V方案成本超预算被老板狂喷?——这些血泪教训,谁能懂得!

云轩阁 13万+

Redis String 基本操作 - 2

root@yuan:/usr/local/bin# redis-cli 127.0.0.1:6379> keys * (empty array) 127.0.0.1:6379> mset k1 value1 k2 value2 k3 value3 --- 设置多个key-value的值 OK 127.0.0.1:6379> keys * 1) "k3" 2) "k1" 3) "k2" 127.0.0.1:6379> mget k1 k2 k3 --- 获取多个key-va...

ytdgh1988的博客 998

串行RapidIO(Serial RapidIO,SRIO):协议介绍

目录一、RapidIO背景介绍二、RapidIO协议概述2.1 包与控制符号2.2 包格式2.4 消息传递2.5 全局共享存储器2.6 流量控制2.7 串行物理层三、I/O逻辑操作与包格式四、维护操作与包格式五、消息操作与包格式六、总结 本文是基于Xilinx平台SRIO介绍(一)RapidIO协议介绍的内容作读书笔记。 一、RapidIO背景介绍 RapidIO采用三层分级体系结构,包括逻辑层、传输层和物理层该分级结的如下图所示: ● 逻辑层:位于最高层,定义全部协议和包的格式,它们为端点器件发起和完

Starry__的博客 1万+

cefshap(C#)定义浏览器的右键菜单

菜单效果:复制(自带),搜索文本,打开链接,复制链接,刷新,检查,关于 public class MenuHandler : IContextMenuHandler { //public event Action<string> PopupRequest; void IContextMenuHandler.OnBeforeContextMenu(IWebBrowser browserControl, IBrows

无线智能模块 可视DIY智能专家 1689

redis之string类型的基本操作

string类型: 添加、修改数据 mset key1 value1 key2 value2 [.....] 获取数据 mget key1 key2 key3[....] 获取字符的大小 strlen key 追加信息到原始信息后部 append key value 设置数据增加指定范围的值 incr key incrby key increment incrbyfloat key increment 设置数据值减少指定范围的值 decr key decrby ke

唐昊 375

Lammps实现Ar的沸腾过程(包含in文件)

Lammps实现简单的沸腾过程

Rockyoung 3488

redis in action 一些基本操作 String类型

import redis.clients.jedis.Jedis; public class StringType { public static void main(String[] args) { LinkRedis linkRedis = LinkRedis.getLinkPedis(); Jedis jedis = linkRedis.getJed...

彪叔的博客 223

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

redis的基本操作(String、hash、list、set、zset)

第二讲

xiaoliuxxs 384

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【地铁上的Redis与C#】数据类型(二)--string 基本操作

本篇文章讲解了Redis数据存储格式、string数据类型的特点以及基本操作,这些知识都会用在平时的开发中。

喵叔 657

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

初学redis-String类型基本操作

redis总共有五种数据类型: 字符串String、哈希hash、列表list、集合set、有序集合zset 字符串String操作: 一、单值缓存: set key value //存入字符串键值对 get key //获取一个字符串键值 二、对象缓存: 1、set user:1(用户id) value(json格式数据) set user:1 “{‘name’:‘xiaohei’,‘age’:20}” 获取对象的键值: get user:1 2.批量操作: mset key:属性1 value

u012799877的博客 175

【Redis】Client端下的基本操作以及五大基础数据类型中List与String的常用操作

Client下的各种命令 进入client端的步骤 切换到对应redis所安装的目录,这里安装在/usr/local下 切换至其bin目录中 通过redis-server [配置文件]启动服务器端 通过redis-cli进入客户端 这里的配置文件指的是在etc目录下自己定义的redis.conf文件,一般可以自己配置redis选项。其中为了让服务端能在后台启动,注意这里一个配置 这里将daemonize设置为yes 则可以通过该配置文件让redis服务端在后台运行。而不需要总是卡在默认条件下的时候那种

weixin_45864947的博客 585

redis五大数据类型之一(String常用基本操作)

String(字符串) 1、追加字符append Append 在特定的key后追加字符串【注意:在key不存在的时候相当于创建新的键值对】 2、步长i++ Incr 自增一 Decr 自减一 Incrby 可以设置指定增量 Decrby 可以设置指定减量 3、字符串范围 range getrange 截取指定范围的字符串【getrange 0 -1获取的是全部的字符串=get key】 Setrange 替换指定位置开始的字符串 4、set变形 Setex(s...

m0_51287945的博客 241

Redis 的 Key、String、list、set、hash 的基本操作总结

目录   一、基本的实现架构 二、操作 Key 的方法 三、对存储结构为String类型的操作 四、对存储结构为List类型的操作 五、对存储结构为Set类型的操作 六、对存储结构为HashMap类型的操作 一、基本的实现架构 就是新建一个实体类,通过 redis 连接池获取 jedis 。再通过 jedis 去操作存储结构。 &lt;dependency&gt; &...

weidong_y的博客 997

Redis的string list hash set zset基本操作

整理Redis的五种类型的 基本操作, 运行测试命令   ping 切换数据库,默认第一个数据库  select n Redis是key-value的数据结构, 每条数据都是键值对,键的类型是字符串  键不能重复 值的类型分为五种: 字符串  哈希  列表  集合  有序集合 数据操作行为: 保存修改获取删除  中⽂官⽹查看命令⽂档http://redis.cn/commands.htm...

hudongcun的博客 384

Redis基础之String数据类型的基本操作

String数据类型的基本操作 1、设置数据 添加数据 set key value set name wei 获取数据 get key get wei 删除数据 del key del wei 添加/修改多个数据 mset key1 value1 key2 value2 mset name1 li name2 wang 获取多个数据 mget key1 key2 mget name1 na...

qq_44971387的博客 222

Redis实战--SpringBoot中对Redis数据类型String的基本操作示例

echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075)交流学习。 百战不败,依不自称常胜,百败不颓,依能奋力前行。——这才是真正的堪称强大!!! 该文章是接上一篇文章《Redis整合SpringBoot示例》的后续,操作用例代码比较多,这里展示核心代码所占篇幅很多,所以单独抽出来写 String类型在SpringBoot中的使用代码如下 方法...

xlecho的博客 612

Redis初学:5(String类型的基本操作)

String类型的基本操作 String类型是Redis中最基本的类型,String类型有以下的一些特点: String类型是二进制安全的,这意味着String类型可以包含任何的数据,如:图片、序列化的对象等; Redis中一个String类型的value的大小最大为512M 常用命令 往value后追加字符串 append key 追加的内容 如下图: 上面的11是指执行完追加操作之后,value的长度 获取value的长度 strlen key 如下图: 在key不存在时设置key的值 se

小关同学的博客 340

Redis的基本操作以及应用场景-String,Hash

1.启动Redis Windows版本的下载地址:https://github.com/MSOpenTech/redis,下载后解压,在命令窗口输入 redis-server.exe redis.windows.conf后成功启动redis。

weixin_43754564的博客 325

一、Redis基本操作——String(原理篇)

小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本《Redis设计与实现》[1]来看看。这里权当小喵看书的笔记啦。这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照搬原作者的描述),加上小喵自己的想法,之后配合Redis官网上的各种相关的操作命令(原书上貌似没有很多的介绍命令)。   小喵的个人博客地址: http://miaoerduo.com, 随时欢迎各位的大驾。

guoduhua的专栏 377
上一篇: Redis 配置节
下一篇: laravel new xxx 安装laravel 慢的问题
weixin_30293135
博客等级 码龄11年 91粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值