Redis string类型常用操作
Redis 有 string、list、set、zset、hash数据类型。string类型是最基础的,其他类型都是在string类型上去建立的,所以了解熟悉string类型的常用操作对于学习redis非常必要。
APPEND:向键的值后面追加字符串,并且返回追加后的值长度
127.0.0.1:[]> get hello
"world"
127.0.0.1:[]> APPEND hello wonderful
(integer)
127.0.0.1:[]> get hello
"worldwonderful"
SETBIT:设置或清除指定偏移位的值(比特位从左往右算)
GETBIT:获取指定位的比特值
BITCOUNT:获取指定字节范围中有多少位为 1
127.0.0.1:[]> set andy 'a'
OK
127.0.0.1:[]> get andy
"a"
127.0.0.1:[]> SETBIT andy
(integer)
127.0.0.1:[]> SETBIT andy
(integer)
127.0.0.1:[]> GET andy
"b"
127.0.0.1:[]> GETBIT andy
(integer)
127.0.0.1:[]> BITCOUNT andy
(integer)
INCR:值递增
INCRBY:按照指定值递增
INCRBYFLOAT:指定浮点数递增
DECR:值递减
DECRBY:按照指定值递减
127.0.0.1:[]> INCRBY counter
(integer)
127.0.0.1:[]> DECRBY counter
(integer)
127.0.0.1:[]> INCRBYFLOAT counter 1.6
"8.6"
# 如果值为非int型则会报错
127.0.0.1:6379[7]> INCR key3
(error) ERR value is not an integer or out of range
GET:返回键的值
GETRANGE:获取值指定范围
GETSET:设置值并且返回原来的值
127.0.0.1:[]> GETSET key3 test_key3
"value3"
127.0.0.1:[]> get key3
"test_key3"
127.0.0.1:6379[7]> GETRANGE key3 0 3
"test"
MGET:批量获取值,如果对应键不存在会使用 nil 代替,按指定顺序返回
MSET:批量设置键值对,相比 SET 节省了网络时间,但如果一次性设置太多可能会导致阻塞
127.0.0.1:[]> MSET a b c d
OK
127.0.0.1:[]> MGET a b c d
) ""
) ""
) ""
) ""
SET:设置键值对
语法:set key value [expiration EX seconds|PX milliseconds] [NX|XX]
expiration:设置过期时间,EX 以秒为单位, PX 以毫秒为单位
NX:键必须不存在才能设置成功
XX:键必须存在才能设置成功
SETNX:同等于 SET 指定 NX 参数
127.0.0.1:[]> get test1
(nil)
127.0.0.1:[]> GET redis
"best"
127.0.0.1:[]> SETNX redis "good"
(integer)
127.0.0.1:[]> SETNX test1 "good"
(integer)
SETEX:设置键值对,并且指定过期时间,同等于 SET 指定 EX 参数。
127.0.0.1:[]> SETEX test1 "test1"
OK
127.0.0.1:[]> get test1
"test1"
127.0.0.1:[]> get test1
(nil)
MSETNX:等同于 MSET 和 SETNX 结合
PSETEX:等同于 SET 设置 PX 参数
SETRANGE:修改值指定范围的内容
127.0.0.1:[]> set redis pest
OK
127.0.0.1:[]> SETRANGE redis b
(integer)
127.0.0.1:[]> get redis
"best"
STRLEN:返回值的长度,以字节为单位,注意每个中文字符占3个字节
参考文档:《Redis开发与运维》、Redis官方文档
参考网络文件:理解setbit中的bit;https://www.zhihu.com/question/27672245
理解SETBIT、BITCOUNT等命令推荐博客:https://blog.csdn.net/u011489043/article/details/78990162
Redis string类型常用操作的更多相关文章
- Redis学习第二课:Redis String类型及操作
Strings类型 String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象. Strings类型的操作: Set:设置 ...
- redis入门:介绍、特点、安装、各类型常用操作
一.redis介绍 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. Redis支持多种类型的数据结构,如 字符串(strings), 散列(ha ...
- [置顶] Redis String类型数据常用的16条命令总结
Redis String类型数据常用的16条命令总结 描述:String 类型是最简单的类型,一个Key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比 ...
- [redis] redis 对string类型数据操作
package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...
- Redis - string类型操作
以个人信息为例操作string类型 设置操作: set: set key value 创建key-value名值对 setnx: setnx key value ...
- Redis基础类型常用操作命令
Redis基础类型常用操作命令 概念:Redis是用C语言开发的一个开源的高性能键值对数据库. 特征: 数据间没有必然的联系 内部采用单线程机制进行工作 高性能 多数据类型支持 字符串类型 Strin ...
- 第三百节,python操作redis缓存-其他常用操作,用于操作redis里的数据name,不论什么数据类型
python操作redis缓存-其他常用操作,用于操作redis里的数据name,不论什么数据类型 delete(*names)根据删除redis中的任意数据类型 #!/usr/bin/env pyt ...
- redis的keys常用操作及redis的特性
redis的keys常用操作 1.获得所有的keys: keys * 2.可以模糊查询 keys:keys my* 3.删除keys:del mymkey1 mykey2 4.是否存在keys:ex ...
- Redis集合的常用操作指令
Redis集合的常用操作指令 Sets常用操作指令 SADD 将指定的元素添加到集合.如果集合中存在该元素,则忽略. 如果集合不存在,会先创建一个集合然后在添加元素. 127.0.0.1:6379&g ...
随机推荐
- IOS开发 UITabBarController
UITabBarController使用详解 UITabBarController是IOS中很常用的一个viewController,例如系统的闹钟程 序,ipod程序等.UITabBarContro ...
- [題解]luogu P1156 垃圾陷阱
前言:[數據刪除] 來源:題解 不發題面了 首先我们来分析题目,“每个垃圾都可以用来吃或堆放”,浓浓的透露出一个背包气息.我们可以类比背包问题的放或不放.于是dp[i][j]dp[i][j]dp[i] ...
- GYM 101889E(dp)
dp[i][j][k]表示第i位填数字k时,与后面的相连模数为j时,后面的数字最小填多少. 测得我提心吊胆还以为复杂度高了,结果出来46ms还是cf评测姬强啊. #pragma comment(lin ...
- CSS3基础知识学习
CSS3动画例子展示 http://www.17sucai.com/pins/demoshow/13948 HTML5和CSS3特效展示 http://www.html5tricks.com/30-m ...
- git代理设置方法
客户公司办公,上外网需要代理,临时查一下资料,记录一下: 1.设置代理: git config --global http.proxy http://IP:Port 2.代理设置完成后,查看设置是否生 ...
- spring boot图片上传至远程服务器并返回新的图片路径
界面上传图片时考虑到可能会有用户的图片名称一致,使用UUID来对图片名称进行重新生成. //UUIDUtils public class UUIDUtils { public static Strin ...
- greendao 查询之数据去重
最近使用greendao的过程中,有一个需求:将数据库的内容根据组别展示.意思就是需要将数据库中的所有组别取出来,然后根据组别加载数据.之前我的笨办法是获取所有的数据,然后对得到的数据手动去重(比较每 ...
- [转+补]Android打包so后魅族5中安装运行崩溃问题的解决方法
上周在做噪音检测so集成中,遇到不同的so库打包到 APK 时,安装在某些机器上,出现 java.lang.UnsatisfiedLinkError 加载失败. 为此,深究了一下原理,和给出了解决方案 ...
- Flask应用运行流程
当我们运行项目后,Flask内部都经历了什么 1.app.run()启动项目,ctrl点进源码 app.py: 1)执行了run_simple() 2)注意第三个参数,这里是Flask实例化的对象,在 ...
- Android学习总结(五)———— BroadcastReceiver(广播接收器)的基本概念和两种注册广播方式
我们学完了Android四大组件的Activity和Service了,接下来我们一起来学习Android四大组件的第三个吧:BroadcastReceiver(广播接收者),计划如下图: 一.Broa ...