Redis之字符串的基本操作

本文介绍了Redis中字符串操作的基础知识,包括字符串的设置、获取、追加等操作,并详细讲解了如何利用Redis进行基本的数据管理和有效期设置。此外还涉及到了一些高级操作如字节范围获取、值的更新和增加。

字符串操作

    Redis key 值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如”foo”的简单字符串到一个JPEG文件的内容都可以。空字符串也是有效key值

Key取值原则
 键值不需要太长,消耗内存,且在数据中查找这类键值的计算成本较高键值不宜过短,可读性较差
 字符串是一种最基本的Redis值类型。Redis字符串是二进制安全的,这意味着一个Redis字符串能包含任意类型的数据
    例如: 一张JPEG格式的图片或者一个序列化的Ruby对象
一个字符串类型的值最多能存储512M字节的内容

使用set命令设置一个字符串类型的值
set key value 

 

 

 

SET key  value [EX seconds] [PX milliseconds] [NX|XX]
	set k1 v1 			设置一个k1键对应一个v1值,如果数据库中有k1,则覆盖
	set k1 v11 nx 		设置一个k1键对应一个v11值,如果数据库中有k1则次命令无效,如果数据库中无k1则创建k1->v11
	set k1 v22 xx 		设置一个k1键对应一个v22值,只能覆盖而不能新建
	set k1 v33 ex 10 	设置一个k1键对应一个v33值,有效期是10s ,可通过ttl k1查看k1对应的有效时间,-2表示失效
	set k1 v33 px 1000 	设置一个k1键对应一个v33值,有效期是1000ms,可通过ttl k1查看k1对应的有效时间

 

使用get命令查看字符串类型的值
get key
使用MGET key [key ...]  获取多个键对应的值
mget k1 k2 
使用mset 设置多个字符串类型的值
mset k1 v1 k2 v2 
使用msetnx设置多个值 只有在值没有时才能新建成功(原子操作)
msetnx k1 v1 k2 v2 

getset  返回旧值设置新值(相当于修改只是返回旧值)

type 查看键的类型

 

 

	>>set k1 v1
	>>hset myhash k1 v1
	>>type k1 => string
	>>type myhash => hash

strlen  返回key对应的值的字节的长度

 

>>注意是字节的长度不是字符的长度,英文下一个字节对应一个字符,所以容易造成误解是字符的长度
	>>set kx 查看键的编码
	>>get kx  ==>\xe6\x9f\xa5\xe7\x9c\x8b\xe9\x94\xae\xe7\x9a\x84\xe7\xbc\x96\xe7\xa0\x81
	>>strlen kx ==>18  
	>>在UTF-8下正好一个汉字用3个字节,所有6个汉字正好18个字节  strlen kx 返回18	

object encoding 查看键的编码

EXPIRE key seconds   设置键多少秒过期
EXPIRE k7 7
PEXPIRE key milliseconds  设置键多少毫秒过期
persist k7    阻止k7失效

RENAME key newkey  重命名 
DEL key [key ...]  删除键

APPEND key value  给key对应的值在最后追加一个值,如果这个键不存在就相当于set 

 

eg:>set  k1 vv1
	   >append k1 a
	   >append k1 b
		get k1 => vv1ab

GETRANGE key start end  获取key这个键对应值的[start,end]位的字节  start和end都包括即[start,end]
  GETRANGE a  0  1
  GETRANGE a -3 -1 获取最后3位
  eg:set k1 你好(\xe4\xbd\xa0\xe5\xa5\xbd)
  getrange k1 0 2  =>\xe4\xbd\xa0  返回 “你好”这个值对应的字节数组的0-2位 (\xe4\xbd\xa0)
  
SETRANGE key offset value    设置字节数组 从offset的位置开始覆盖value的长度个字节

 

eg:set k1 你好(\xe4\xbd\xa0\xe5\xa5\xbd)
	setrange k1 0 123  =>(123\xe5\xa5\xbd) 把从0位开始的字节替换为123

INCR key  给值增加1   可以准换为整型的字符串类型
DECR key  给值减去1   可以准换为整型的字符串类型
INCRBY key increment  增加步长(increment)
DECRBY key decrement  

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值