Redis 五种数据类型
Redis支持五种数据类型: string(字符串):可以为整型、浮点型和字符串,统称为元素,
hash(哈希):hash的key必须是唯一的
list(列表):实现队列,元素不唯一,先入先出原则
set(集合):各不相同的元素
zset(sorted set:有序集合)。
先了解一下key基本知识
Redis 的Key
Redis的 key是字符串类型,但是 key中不能包括边界字符, 由于 key不是 binary safe的字符串,所以像"my key"和"mykey\n"这样包含空格和换行的 key是不允许的。
了解一下key相关指令
exists key 检测指定key 是否存在,返回 1表示存在, 0 不存在
del key1 key2 … keyN 删除给定 key,返回删除 key 的数目, 0表示给定 key都不存在
type key 返回给定 key值的类型。 返回 none 表示 key不存在,string字符类型, list 链表类型 set 无序集合类型…
keys pattern 返回匹配指定模式的所有 key
randomkey 返回从当前数据库中随机选择的一个 key,如果当前数据库是空的,返回空串
rename oldkey newkey 重命名一个 key,如果 newkey 存在,将会被覆盖,返回 1 表示成功,0失败。可能是 oldkey不存在或者和 newkey相同。
renamenx oldkey newkey 同上,但是如果 newkey存在返回失败。
expire key seconds 为 key指定过期时间, 单位是秒。 返回 1成功, 0 表示 key 已经设置过过期时间或者不存在。
ttl key 返回设置过过期时间key的剩余过期秒数。 -2表示key不存在,-1表示key存在且过期。
select db-index 通过索引选择数据库, 默认连接的数据库是 0,默认数据库数是 16 个。 返回 1表示成功, 0失败。
move key db-index 将 key 从当前数据库移动到指定数据库。返回 1 表示成功。 0 表示 key不存在或者已经在指定数据库中
echo 打印命令
dbsize 查看数据库key的数量
info 获取数据库信息
config get 实时传储收到的请求(返回相关的配置信息) config get * 返回所有配置
flushdb 清空当前数据库,flushall清空所有数据库
String
string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。
string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。
string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。
Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:
string基本语法操作
添加元素
//ex:秒级过期时间,nx:键不存在时才能设置成功,xx键存在时才能设置成功
set key value [ex seconds] [px milliseconds] [nx|xx]
获取值
get key
批量设置值
mset key value [key value …]
mset a 1 b 2 c 3 d 4
批量获取值
mget key [key …]
mget a b c d
设置数值数据增加指定范围值
incr key 自加1
increby key increment 自加指定数值
incrbyfloat key increment 自加指定float
设置数值数据减少指定范围值
decr key