Redis之字符串
Redis 字符串
String 是redis最基本的类型,value 不仅可以是 String,也可以是数字。
使用 Strings 类型,可以完全实现目前 Memcached 的功能,并且效率更高。还可以享受 Redis 的定时持久化(可以选择 RDB 模式或者 AOF 模式).
string类型是二进制安全的。意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象
string类型是Redis最基本的数据类型,一个键最大能存储512MB。
命令示例:
set
设置key对应的值为string类型的value。
> set name itcast
setnx
将key设置值为value,如果key不存在,这种情况下等同SET命令。 当key存在时,什么也不做。SETNX是”SET if Not eXists”的简写。
> get name
"itcast"
> setnx name itcast_new
(integer)0
>get name
"itcast"
setex
设置key对应字符串value,并且设置key在给定的seconds
时间之后超时过期。
> setex color 10 red
> get color
"red"
10秒后...
> get color (nil)
setrange
覆盖key对应的string的一部分,从指定的offset处开始,覆盖value的长度。
127.0.0.1:6379> set email wangbaoqiang@itcast.cn
OK
127.0.0.1:6379> setrange email 13 gmail.com
(integer) 22
127.0.0.1:6379> get email
"wangbaoqiang@gmail.com"
127.0.0.1:6379>STRLEN email
(integer) 22
其中的4是指从下标为13(包含13)的字符开始替换
mset
一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。
> mset key1 python key2 c++
OK
mget
一次获取多个key的值,如果对应key不存在,则对应返回nil。
> mget key1 key2 key3
1) "python"
2) "c++"
3) (nil)
msetnx
对应给定的keys到他们相应的values上。只要有一个key已经存在,MSETNX一个操作都不会执行。
> MSETNX key11 "Hello" key22 "there"
(integer) 1
> MSETNX key22 "there" key33 "world"
(integer) 0
认证了:MSETNX是原子的,所以所有给定的keys是一次性set的
getset
设置key的值,并返回key的旧值
> get name
"itcast"
> getset name itcast_new
"itcast"
> get name
"itcast_new"
GETRANGE key start end
获取指定key的value值的子字符串。是由start和end位移决定的
> getrange name 0 4
"itcas"
incr
对key的值加1操作
> set age 20
> incr age
(integer) 21
incrby
同incr类似,加指定值 ,key不存在时候会设置key,并认为原来的value是 0
> incrby age 5
(integer) 26
> incrby age1111 5
(integer) 5
> get age1111
"5"
decr
对key的值做的是减减操作,decr一个不存在key,则设置key为1
decrby
同decr,减指定值
append
给指定key的字符串值追加value,返回新字符串值的长度。例如我们向name的值追加一个"redis"字符串:
127.0.0.1:6379> get name
"itcast_new"
127.0.0.1:6379> append name "value"
(integer) 15
127.0.0.1:6379> get name
"itcast_newvalue"
127.0.0.1:6379>
Redis之字符串的更多相关文章
- Redis操作字符串工具类封装,Redis工具类封装
Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...
- redis数据类型-字符串类型
Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...
- 【Redis面试题】Redis的字符串是怎么实现的?
年前本人在找工作面试时在Redis相关问题上可栽了跟头.在面试前按常规套路准备了一下,比如 Redis 的常用5种数据结构,Redis持久化策略,Redis实现分布式锁,简单发布订阅等等都准备了,当时 ...
- Redis 操作字符串数据
Redis 操作字符串数据: > set name "Tom" // set 用于添加 key/value 数据,如果 key 存在则覆盖 OK > setnx nam ...
- 第二百九十五节,python操作redis缓存-字符串类型
python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...
- Redis 数据结构-字符串源码分析
相关文章 Redis 初探-安装与使用 Redis常用指令 本文将从以下几个部分进行介绍 1.前言 2.常用命令 3.字符串结构 4.字符串实现 5.命令是如果操作字符串的 前言 平时在使用 Redi ...
- redis之字符串命令源代码解析(二)
形象化设计模式实战 HELLO!架构 redis命令源代码解析 在redis之字符串命令源代码解析(一)中讲了get的简单实现,并没有对 ...
- 深入了解Redis(1)-字符串底层实现
一.简单动态字符串(SDS) Redis中字符串实现有两种方式,C语言传统字符串(以空字符结尾的字符数组)和简单动态字符串(SDS),并将SDS作为默认字符串表示. C字符串只会作为字符串字面量,用在 ...
- redis数据类型(字符串)
字符串 这是最简单Redis类型.如果你只用这种类型,Redis就像一个可以持久化的memcached服务器 127.0.0.1:6379> set mykey somevalue OK 127 ...
- redis 2 字符串 和 hash
string是最简单的类型,一个key对应一个value,string类型是二进制安全的.redis的string可以包含任何数据,比如JPG图片或者序列化的对象 操作 set 设置key ...
随机推荐
- PostgreSQL远程代码执行漏洞(CVE-2018-1058)学习笔记
零.参考文献和绪论: 1.先知社区chybeta大神的--PostgreSQL 远程代码执行漏洞分析及利用—[CVE-2018-1058]--一文 2.博客园hunchill的--Mac 下 Post ...
- java中生成流水号的一个例子(使用关系型数据库)
在实际的开发中,可能会有根据一定的规则生成流水号的需求(比如根据根据公司编码和日期生成4位流水号)我们可以把公司和日期联合起来作为一个业务编码,把这个业务编码和序列的值存储到数据库中,每次需要生成流水 ...
- Autofac在项目中应用的体会,一个接口多个实现的情况
在本人接触的项目中Autofac应用的比较多一些,我理解的他的工作原理就是 注册类并映射到接口,通过注入后返回相应实例化的类! 下面说说我在项目中的实际应用 先来简单介绍下Autofac的使用 1. ...
- 【BZOJ4774/4006】修路/[JLOI2015]管道连接 斯坦纳树
[BZOJ4774]修路 Description 村子间的小路年久失修,为了保障村子之间的往来,法珞决定带领大家修路.对于边带权的无向图 G = (V, E),请选择一些边,使得1 <= i & ...
- c# WinForm 边框阴影窗体
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 170519、FastDFS分布式文件系统的安装与使用(单节点)
基于 于 D Do ubbo 的分布 式系统架构 视频 教程 高 级篇S FastDFS 分布 式 文件系统的安装与使用 (单 节点)跟踪 服务器 : 192.168.4.12 21 1 (edu- ...
- scrapy爬虫系列之二--翻页爬取及日志的基本用法
功能点:如何翻页爬取信息,如何发送请求,日志的简单实用 爬取网站:腾讯社会招聘网 完整代码:https://files.cnblogs.com/files/bookwed/tencent.zip 主要 ...
- socket协议和http协议性能对比
最近做了一次队列服务的性能测试,是通过两种协议windows socket和http分别往内存中写入url.对比哪种协议的效果更高,下图是测试结果.此次使用的工具是loadrunner.在压socke ...
- android 模仿今日头条ViewPager+TabLayout
导入依赖库: compile 'com.android.support:design:25.3.1' 1.fg_content_demo2.xml <?xml version="1.0 ...
- centos shell编程3【告警系统】 没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh disk.sh 第三十七节课
centos shell编程3[告警系统] 没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh disk.sh 第三十七 ...