文档章节

Redis 字符串类型操作

明月知心
 明月知心
发布于 2017/07/26 16:05
字数 538
阅读 9
收藏 0

set key value [ex 秒数] / [px 毫秒数]  [nx] / [xx]

注意:同时设置秒数 ex 和毫秒数 px ,以后面的为准

nx  代表 key 不存在的时候的操作 

xx 代表key 存在的时候操作,即,覆盖操作

mset key value [key value....] 

一次性设置多个键值对

mget key [key.....]

一次获取多个键的值

setrange key offset value

按偏移量重新设置 key  的 value ,如果offset 超出原有value 索引范围,缺少部分用\x00代替

127.0.0.1:6379> set a www.baidu.com
OK
127.0.0.1:6379> get a
"www.baidu.com"
127.0.0.1:6379> setrange a 4 hao123.com
(integer) 14
127.0.0.1:6379> get a
"www.hao123.com"
127.0.0.1:6379> set word hello
OK
127.0.0.1:6379> setrange word 7 xxxx
(integer) 11
127.0.0.1:6379> get word     
"hello\x00\x00xxxx"               # 超出原有 key 索引范围用 \x00 代替

append key value

往value中添加内容

getrange key [start end]

按索引值 获取 value 中某一段,类似python 中的切片,但是包头包尾

127.0.0.1:6379> get a
"123"
127.0.0.1:6379> getrange a 1 2
"23"

getset key newvalue

获取之前的值,并设置新值,注意返回的是之前的值

127.0.0.1:6379> get a
"123"
127.0.0.1:6379> getset a 456
"123"
127.0.0.1:6379> get a
"456"

incr key    

将key中储存的值 +1,如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。

decr key  

将key中储存的值 -1,如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。

字符串位偏移量操作

  • 1个字节等于8位    1Byte = 8bit
  • 位只有0或1           如:0010 1111

setbit key offset value

按位的偏移量设置或存储值

getbit key offset

按位的偏移量取值

countbit key

统计有多少个1

setbit/getbit/countbit 应用场景

常用场景:统计大量高并发用户活跃度(1亿用户,id 从 1~1亿),如只要用户登录,就给它设置个状态 1 ,未登录设置0

如下所示,按位给登录过的用户 Id 设置1,通过bitcount 可以统计出当前有多少个1,即当前有

多少个在线用户 

127.0.0.1:6379> setbit id 10005 0 
(integer) 0
127.0.0.1:6379> setbit id 10006 1 
(integer) 0
127.0.0.1:6379> bitcount id
(integer) 1

 

 

© 著作权归作者所有

明月知心
粉丝 7
博文 158
码字总数 71882
作品 0
武汉
程序员
私信 提问
Redisbook学习笔记(3)数据类型之字符串

REDIS_STRING (字符串)是Redis 使用得最为广泛的数据类型,它除了是SET 、GET 等命令 的操作对象之外,数据库中的所有键,以及执行命令时提供给Redis 的参数,都是用这种类型 保存的。 字符...

shayang88
2014/02/13
0
0
Spring Data Redis 详解及实战一文搞定

SDR - Spring Data Redis的简称。 Spring Data Redis提供了从Spring应用程序轻松配置和访问Redis的功能。它提供了与商店互动的低级别和高级别抽象,使用户免受基础设施问题的困扰。 Spring B...

Java技术栈
2018/09/10
0
0
redis命令及对应jedis操作(一)-String类型

我们知道学习编程知识,先要搭建环境,首先需要下载redis工具包,下载时需要注意,redis的偶数版是表示稳定版(2.4,2.6等),奇数版表示非稳定版(2.5,2.7等),我下载的是2.6的,最新版本...

laoyao
2014/07/26
1K
3
Redis总结

一、基本概念 redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 ...

冰-冰
2016/08/30
85
0
(三)Redis快速入门-Redis数据类型String(字符串)

(三)Redis快速入门-Redis数据类型String(字符串) 我的系统版本为CentOS7.5,redis版本5.0.4 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(...

Super_RD
04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
今天
5
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部