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 ...
随机推荐
- Matlab图像处理相关
相关函数: 读取:imread() %参数为文件名(路径)或url,格式等 写入:imwrite() %参数为写入数据矩阵,写入文件名(路径),格式等 显示:imshow() %显示由输入决定,属性自 ...
- 第二十篇 .NET高级技术之C#中的线程(二) 线程同步基础
1.同步要领 下面的表格列展了.NET对协调或同步线程动作的可用的工具: 简易阻止方法 构成 目的 Sleep 阻止给定的时间周期 Join 等待另一个线程 ...
- elasticsearch bigdesk 安装和使用
http://blog.csdn.net/laigood/article/details/8207990
- 51Nod 1043 幸运号码
#include <stdio.h> #include <algorithm> using namespace std; typedef long long ll; ; ][] ...
- js动态实现文本框不可编辑状态
两种方法: $("#id").attr("readOnly",false); 不可编辑,可以传值 $("#id").attr("d ...
- flask 学习app代码备份
#!/usr/bin/python # -*- coding: UTF-8 -*- from flask import Flask, url_for from flask import request ...
- 基于华为云语音通知 VoiceCall 的应用上线记录并分享.NET CORE DEMO
最近公司要上线语音通知功能,需求如下: 场景:发生报警时,自动通知到指定的手机号,同时,提供几个按键选项,例如,语音通知如下: “您好,XXX小区发生XXXX报警,按1确认报警,按2忽略报警,按3屏蔽 ...
- GCC在windows下的配置
http://blog.csdn.net/lan120576664/article/details/46806991 http://blog.csdn.net/shaynerain/article/d ...
- sgu316Kalevich Strikes Back(线段树+扫描线)
做法:总体想法是求出一个矩形的面积以及它所包含的矩形,然后用自己的面积减掉所包含的.主要问题是怎样求解它所包含的矩形. 因为是没有相交点的,可以利用扫描线的方法去做,类似染色,当前段如果是x色,也就是 ...
- Java项目接入阿里云OSS存储
需求背景 目前公司内部项目所支持的文件云存储方式还是公司内部项目组提供的方案,但在时间的考验之下,弊端显现,尤其是灾备切换过程中需要切换访问地址,这种操作不方便,更可能因为中间过程的失误导致资源不可用 ...