Redis的安装不会介绍,有兴趣的可自行百度
Redis的数据结构介绍
- redis是一种高级的key-value的存储系统,其中value支持物种数据类型
- 字符串 (string)
- 哈希(hash)
- 字符串列表 (list)
- 字符串集合 (set)‘
- 有序字符串集合(sorted set)
- 关于key的定义,要注意以下几点:
- key不要太长,最好不要超过1024个字节,这不仅会消耗内存还会降低查找效率
- key不要太短,如果太短会降低key的可读性
- 在项目中,key最好有一个统一的命名规范
字符串类型是Redis中最为基础的数据存储类型,他在Redis中是二进制安全的,这便意味着该类型存入和获取的数据相同,在redis中字符串类型的Value最多可以容纳的数据长度是512M.
常用命令:
string
设置值
set key value :设定key持有指定的字符串value,如果key存在则进行覆盖操作,总是返回"OK"
取值:
get key:获取key的value。如果与该key关联的value不是String类型,redis将返回错误信息,因为get只能用于获取String value,如果key不存在返回nil 代表无的意思
删除:
数值的增减
扩展(了解):
hash
赋值
取值:
删除:
只介绍一个图示 下面罗列所有的基本命令:
数据类型
string
掌握的操作:
赋值
格式: set key value
例如:set username tom
取值
格式: get key
例如: get username
先获取再设置
getset key value
例如: getset username jack
删
del key
例如: del d
了解:
对于数字类型 自增和自减
incr key ++
decr key --
增加或减少指定的数量
incrby key int
decrby key int
拼接字符串
append key value
list
赋值:
左边:lpush key value value2 value3
右边:rpush key value value2 value3
取值:
左边:lpop key
右边:rpush key
获取所有元素
lrange 0 -1
获取元素的个数
llen key
扩展:
lpushx key value :若有则添加 若没有则不添加
rpushx key value :若有则添加 若没有则不添加
lrem key count value:从左边移除count个value
若count>0 :从左边移除count个value
若count<0 :从右边移除count个value
若count=0 :从右边移除所有的value
lset key index value
设置链表中指定索引的元素值 0 代表是第一个
-1代表的是最后一个
hash:
了解
又存入一个map集合
user username tom
age 18
sex 1
存值:
存入一个值
hset key subkey subvalue
存入多个值
hmset key subkey1 subvalue1 subkey2 subvalue2
获取:
获取一个值
hget key subkey
获取多个值
hmget key subkey1 subkey2
移除值:
hdel key subkey subkey
给一个key添加指定的数字
hincrby key subkey int
set
添加
sadd key value1 value2
删除
srem key value1 value2
获取
smembers key
判断是否是是set中的一员
sismember key value
运算
差集: sdiff s1 s2
交集: sinter s1 s2
并集: sunion s3 s4
获取数量
scard key
srandmember key:随机获取一个
sortedSet
添加元素
zadd key score m1 score m2
获取元素
zscore key m:获取指定成员的得分
zcard key:获取key的长度
删除元素
zrem
通用的操作:
keys * :查看所有的key
del key:删除指定的key
exists key:判断一个key是否存在
rename oldkey newkey:重命名
expire key 秒数:
ttl key :查看一个key剩余存活时间
-1:持久存活
-2:不存在
type 判断一个可以属于什么类型