Redis的数据类型
(1)Strings类型及操作
String是最简单的类型,一个Key对应一个Value,string类型是二进制安全的,Redis的string可以包含任何数据,比如jpg图片或者序列化的对象
1.Set
设置key对应的值为string类型的value
例如:我们添加一个name=hello的键值对
命令:set name hello
2.Get
获取key对应value的值
命令:get name
3.Setnx
设置key对应的值为string类型的value,如果key
已经存在,返回0,nx是not exist的意思
命令:setnx name hello
拓展Getnx
4.Setex
设置key对应的值为string类型的value,并指定此键值对应的有效期
命令:setex haircolor 10 red
10为10秒
5.Setrange
设置指定key的value值的字符串
例如:我们希望lijie的126邮箱替换为gmail邮箱
set name [email protected]
命令:setrange name 6 gmail.com
6.mset
一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置
7.msetnx
一次设置多个key值,成功返回ok表示所有的值都设置了失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key
8.getset
设置key的值,并返回key的旧值
9.getrange
获取key的value值的子字符串
10mget
一次获取多个key的值,如果对应key不存在,则对应返回nil
11.incr
对key的值做加操作,并返回新的值
12.incrby
同incr类似,加指定值,key不存在时候会设置key并认为原来的value是0
13.append
给指定key的字符串追加value,返回新字符串值的长度
--------------------------------------------------------华丽的分割线--------------------------------------------------
(2)hashes类型及操作
Redis hash是一个string类型的field和value的映射表,它的添加、删除操作都是O(1)(平均)hash特别适合用于存储对象,相较于将对象的每个字段存成单个string类型,将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象
1.hset
设置hash field为指定值,如果key不存在,则先创建
hset user:001 name miao
2.hsetnx
设置hash field为指定值,如果key不存在,则先创建,
如果存在返回0
3.hmset
命令:hmset user:002 name miao sex 1
4.hget
命令:hget user:002 name
5.hincrby
命令:hincrby user:name age 6
6.hexists
测试指定field是否存在
7.hlen
返回hash中的field数量
8.hdel
删除hash中的field
hdel user:002 age
9.hkeys
命令:hkeys user:002
10.hvals
命令:hvals user:002
11.hgetall
命令:获取某个hash的全部field及value