Redis中 String类型及操作

Redis

1.Redis是一个操作数据结构的语言工具,它提供基于TCP的协议以操作丰富的数据结构。
2.Redis定位于一个内存数据库,正是由于内存的快速访问特性,才使得Redis能够有如此高的性能,才使得Redis能够轻松处理大量复杂的数据结构。
3.Redis使用基础的API操作基础的数据结构,Redis的API与数据结构一样,都是一些最基础的元素。
4.Redis代码很美
5.避免复杂化,与复杂化作战。解决复杂问题的方法就是让复杂问题永远不要提复杂的问题。
6.Redis支持两个层成的AP.
7.优化代码为乐
8.数据结构服务器
Redis author antirez

String类型及操作

struct sdshdr{

long len;
long free;
char buf[];

};
len 是buf数组长度
free 是数组中剩余可用字节数
buf 是个char数组用于存贮实际的字符串内容
另外string类型可以被部分命令按int处理

1.set 设置对应的值为String类型的value

set key value
set zhu jin

2.setnx 如果不存在这个键值对就插入,存在的话就返回0,nx 是 not exist

setnx key value
setnx zhu jin

3.setex 设置键值对 并且指定有效期。

setex key time(second) value
setex zhu 10 jin

4.setrange 设置指定key的 value值的子字符串

setrange zhu 3 1
get zhu
jin1
其中的3是指下标为3的字符串开始替换

5.mset 一次设置多个key的值,成功返回ok,失败返回0表示没有任何值被设置。

mset key1 value1 key2 value2

6.msetnx 一次设置多个key的值 成功返回会ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key。

msetnx key1 value1 key2 value2

7.get 获取key对应的string值,如果key不存在返回nil

get key

8.getset 设置key的值并返回key的旧值 如果之前没有返回的是nil但是会被设置进去

getset key valuenew

9.getrange 获取指定key的value值的子字符串

getrange key 0 6
getrange key -7 -1

10.mget 一次获取多个key的值,如果对应key不存在,则对应返回nil

mget key1 key2
  1. incr 对key的值做加加操作,并返回新的值。注意incr一个不是int的value会返回错误,incr一个不存在的key,则设置key为1
set age 20
incr age
(integer) 21

12.incrby 同incr类似加指定值,key不存在时会设置key,并认为原来的value是0

incrby age 5

13.decr 对key的值做的是减减操作,decr一个不存在key则设置key为-1

decr age

14.decrby 同decr减指定值

decrby age 5

decrby完全是为了可读性,我们完全可以通过incrby一个负值进行操作。

15.append 给指定key的字符串值追加value,返回新字符串值的长度

append key addvalue

16.strlen取指定key的value值的长度

strlen key

总结:对于字符串这种类型的操作总结下来就是
1.插入单条 (覆盖/不覆盖)
2.插入多条 (覆盖/不覆盖)
3.插入单条 指定插入位置
4.插入单条 具有生效时间
4.获取单条
5.获取多条
6.获取指定范围的单条
7.int类型的value增
8.int类型的value减
9.获取旧值插入新值

本文链接:

https://heyzen.club/index.php/Coder/75.html
1 + 7 =
快来做第一个评论的人吧~