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  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值