redis:string字符串类型的操作
1. string字符串类型的操作:
1.1. set 设置单个值
语法:set key value [EX seconds] [PX milliseconds] [NX|XX]
注:
EX seconds 设置key的生命周期(有效期)(以秒数为单位)
PX milliseconds 表示key的生命周期(有效期)(以毫秒为单位)
NX (not exists)表示key不存在时设置
XX 表示key已存在时才设置
例:
127.0.0.1:6379> set name 'wang' ex 15
OK
127.0.0.1:6379> ttl name
(integer) 13
127.0.0.1:6379> ttl name
(integer) 10
127.0.0.1:6379> set name 'yang' px 3000
OK
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> ttl name
(integer) -1
127.0.0.1:6379> set name 'zhao' ex 20
OK
127.0.0.1:6379> ttl name
(integer) 17
127.0.0.1:6379> set animal 'cat'
OK
127.0.0.1:6379> ttl animal
(integer) -1
127.0.0.1:6379> set animal 'dog' nx
(nil)
127.0.0.1:6379> set animal 'dog' xx
OK
127.0.0.1:6379>
注:ex、px不能同时写
127.0.0.1:6379> set animal cat ex 10 px 7000
(error) ERR syntax error
1.2. mset 设置多个值
语法:mset key value [key value ...]
例:
127.0.0.1:6379> mset a apple b banana c crow d dog
OK
127.0.0.1:6379> keys *
1) "c"
2) "a"
3) "animal"
4) "b"
5) "d"
1.3. get 获取单个值
语法:get key
例:
127.0.0.1:6379> mset a apple b banana c crow d dog
OK
127.0.0.1:6379> get a
"apple"
127.0.0.1:6379> get b
"banana"
1.4. mget 获取多个值
语法:mget key [key ...]
例:
127.0.0.1:6379> mset a apple b banana c crow d dog
OK
127.0.0.1:6379> mget a b d
1) "apple"
2) "banana"
3) "dog"
1.5. setrange key offset value
语法:setrange key offset value
作用:把key的值偏移量offset,开始替换为value
注:
Offset 是偏移量,可以大于key的最大长度(
例:
127.0.0.1:6379> set word hello
OK
127.0.0.1:6379> get word
"hello"
127.0.0.1:6379> setrange word 2 ??
(integer) 5
127.0.0.1:6379> get word
"he??o"
1.6. getrange key start end 获取key的指定范围的字符
语法:getrange key start end
作用:获取字符串中[start,end]范围的值
注:
start 开始索引号 (从0开始,闭区间);如果start大于end
end 结束索引号 (到end结束,闭区间,右数从-1开始)
Start>=length,返回空字符串
end>=length,截取至字符结尾
如果start所处位置在end右边,返回空字符
例:
127.0.0.1:6379> set fruit orange
OK
127.0.0.1:6379> get fruit
"orange"
127.0.0.1:6379> getrange fruit 1 4
"rang"
127.0.0.1:6379> set status working
OK
127.0.0.1:6379> getrange status 0 -3
"worki"
127.0.0.1:6379> getrange status 0 -4
"work"
1.7. getset key newvalue
语法:getset key value
作用:获取并返回旧值,设置新值
127.0.0.1:6379> set fruit orange
OK
127.0.0.1:6379> get fruit
"orange"
127.0.0.1:6379> getset fruit apple
"orange"
127.0.0.1:6379> get fruit
"apple"
127.0.0.1:6379> getset fruit 'banana'
"apple"
1.8. incr 键值(key)增加1
语法:incr key
注:
不存在的key当成0,再incr操作
范围为64有符号
例:
127.0.0.1:6379> set age 20
OK
127.0.0.1:6379> incr age
(integer) 21
1.9. incrby key number 增加自定义的数
语法:incrby key increment
例:
127.0.0.1:6379> incrby age 5
(integer) 25
1.10. incrbyfloat key floatnumber 增加一个浮点数
语法:incrbyfloat key increment
例:
127.0.0.1:6379> set score 80
OK
127.0.0.1:6379> get score
"80"
127.0.0.1:6379> incrbyfloat score 3.5
"83.5"
127.0.0.1:6379> get score
"83.5"
redis:string字符串类型的操作的更多相关文章
- StackExchange.Redis帮助类解决方案RedisRepository封装(字符串类型数据操作)
本文版权归博客园和作者本人共同所有,转载和爬虫请注明原文链接 http://www.cnblogs.com/tdws/tag/NoSql/ 目录 一.基础配置封装 二.String字符串类型数据操作封 ...
- python之Redis的字符串类型操作
redis的数据类型: 字符串型 哈希 列表 集合 有序集合 1.String(字符串类型) set 命令: 设置一个键和值,键存在则只覆盖,返回ok > s ...
- 第二百九十五节,python操作redis缓存-字符串类型
python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...
- redis数据类型-字符串类型
Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...
- redis之(四)redis的字符串类型的命令
[一]获得符合规则的键名列表 -->命令 keys [pattern] -->keys命令需要遍历Redis中所有的键,当键的数量比较多会影响性能,生产环境不建议用 -->pat ...
- 数据类型总结——String(字符串类型)
相关文章 简书原文:https://www.jianshu.com/p/546a755c3eb6 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
- Python学习笔记(三)字符串类型及其操作(2)
1.字符串的表示 字符串是字符的序列表示,可以由一对单引号(‘).双引号(“)或三引号(’‘’)构成.其中,单引号.双引号和三引号都可以表示单行字符串,但是只有三引号可以表示多行字符串 在使用双引号时 ...
- C#操作Redis String字符串
/// <summary> /// Redis String 操作 /// </summary> public static void Redis_String() { Red ...
- Redis入门---字符串类型
阅读目录 1.keys * 命令 2.判断一个键是否存在(exists key) 3.删除键 4.获取键值的数据类型 5 递增数字(incr) 6.增加指定的整数 (INCRBY) 7.减少指定的整数 ...
随机推荐
- UEditor黑白名单配置
在网上找了很多,都不对.自己尝试,代码如下: 在new UEditor之前加上: Object.assign(window.UEDITOR_CONFIG.whitList, { filling: [' ...
- 关于 java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
今天遇到了这个异常,其实是自己经验欠缺所致.我是通过mybatis查询到数据库传过来的主键,是一个32位的char类型. 代码: //查询总账表的该组织总账记录,包括该条记录的主键id.账户余额Dzz ...
- 使用docker部署.net core应用
CentOS 使用VS2017新建一个asp.net core项目 发布web应用程序 使用FTP工具,将程序文件copy到linux上 XShell连上linux并登陆 cd /CoreWebDem ...
- ssh登陆linux服务器 实际场景讲解 让你管理服务器更安全
很多时候我们管理linux系统,都谁使用ssh登陆,因为都知道ssh是加密传输的协议的,可以有效保证我们与 服务器之间的数据通信安全.但是我们忽略了一点,但是登陆的时候我们是输入的账号和密码,这一点其 ...
- 如何在grails2.3.x中的fork模式下进行调试?-【grails】
grails2.3.x中默认情况下运行模式被设置成了fork模式,在这种模式下,大家会发现设置了断点后无法进行中断.这是由于fork模式造成的,因为在fork模式下,JVM新起了一个进程,这样调试器就 ...
- 一起学Hive——详解四种导入数据的方式
在使用Hive的过程中,导入数据是必不可少的步骤,不同的数据导入方式效率也不一样,本文总结Hive四种不同的数据导入方式: 从本地文件系统导入数据 从HDFS中导入数据 从其他的Hive表中导入数据 ...
- 【Android】ContentValues的用法
ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西,而 ...
- 1000. A+B Problem
Description Calculate a+b Input Two integer a,b (0<=a,b<=10) Output Output a+b Sample Input 1 ...
- Flask---第二个例子--Get和POST发送
*get:浏览器告诉服务器,我只需要获取页面信息给我,这是最简单最常用的方法 *Post:览器告诉服务器:想在 URL 上 发布 新信息.并且,服务器必须确保 数据已存储且仅存储一次.这是 HTML ...
- sql 将一列一逗号分隔拼成字符串
select stuff((select ','+w.Waybillno from Web_Way_Waybill w where w.IsValid<>'Y' AND w.TruckOr ...