Redis数据库总结

简介

与MySQL不同,Redis是一个基于内存的数据库,所以相对于基于硬盘的MySQL,它的存储空间更小,但执行速度更快。Redis由意大利人Salvatore Sanfilippo开发的一款内存高速缓存数据库,该软件由C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如string、list、set、zset、hash。不同于MySQL,redis是没有账户和密码的。

安装及进入退出

Ubuntu下的安装:

sudo apt-get update #更新
sudo apt-get install redis-server #安装redis

进入:

reids-cli

退出:

exit

string类型

string类型包含了整形、浮点型、字符串。

  • 设置
set key value
  • 获取
get key
  • 查看过期时间:返回-1表示永久、-2表示不存在、其他数字表示具体的有效时间
ttl key
  • 设置过期时间
expire key seconds #对已存在的key
set key value ex seconds #设置key的同时设置有效时间
setex key seconds value  #设置key的同时设置有效时间
  • 追加:返回值的长度
append key value
  • 同时设置、获取多个
mset key value key value...
mget key key ...
  • 查看所有key
keys *
  • 删除key
del key
  • 查看key是否存在:存在返回1,不存在返回0
exists key
  • 查看key类型
type key
  • 对key的value进行运算,返回值
incr key #加一
decr key #减一
incrby key x #加x
decrby key x #减x

lise类型

list的类型是实现队和栈的操作,元素不唯一,队列是先进先出,栈是先进后出。

  • 设置:左添加是实现栈的操作,右添加是实现队列的操作。对已存在的key,则是实现在后面添加,返回的是元素的个数。
lpush key value #栈
rpush keu value #队
  • 查看
lrange key start stop
  • 获取list的元素个数
llen key
  • 查看指定索引的元素
lindex key index
  • 删除
lpop key #删除最先出来的元素
rpop key #删除最后出来的元素
lrem key count value #count是删除最大数量,value是指定删除的元素值,count为0,表示删除所有指定的value,count<0表示从右往左删除

hash类型

hash类型的基本格式是key:(filed:value),它是一个string类型的field和value的映射表,特别适合用于存储对象,hash的key必须是唯一的。

  • 设置
hset key field value
  • 获取
hget key field
  • 删除
hdel key field
  • 设置多个
hmset key field value field value ...
  • 获取多个
hmget key field field...
  • 获取全部field
hkeys key
  • 获取全部的value
hvals key
  • 获取全部的field value
hgetall key
  • 获取field的个数
hlen key
  • 获取field的类型
type key

set类型

set类型即集合的意思,里面的元素是唯一且无序的,一个键可对应多个值。

  • 设置
sadd key value [value] [value]...
  • 获取
smembers key
  • 删除:分指定删除和随机删除
srem key value #指定删除
spop key #随机删除
  • 移动一个集合的值到另一个集合:移动成功返回1,失败返回0。
smove key1 key2 value #移动key1的value到key2中
  • 判断集合存在某个值:存在返回1,不存在返回0。
sismember key value
  • 取交集及把交集部分合并到新的集合中
sinter key1 key2 #取交集
sinterstore newkey key1 key2 #交集合并到集合
  • 取并集及把并集部分合并到新的集合中
sunion key1 key2
sunionstore newkey key1 key2
  • 取差集及把差集部分合并到新的集合中
sdiff key1 key2
sdiffstore newkey key1 key2
  • 获取集合个数
scard key
  • 随即返回一个元素
srandmember key

sorted set类型

有序集合的基本格式是key score value [score value]...,里面的元素是唯一且有序的,其有序的依据就是score,即权重,权重越大,顺序就排的越前面。

设置

zadd key score value [score value]...

获取:分正序获取和倒序获取

zrange key start stop #正序
zrevrange key start stop #倒序

删除

zrem key value

返回索引:分为正序索引和倒序索引

zrank key value #正序
zrevrank key value #倒序

查看有序集合的元素个数

zcard key

返回给定权重范围内的元素

zrangebyscore key start stop withscores

返回给定权重范围内的元素个数

zcount key start stop

查看元素的权重值

zscore key value

删除指定索引的元素

zremrangebyrank key start stop

删除指定权重范围内的元素

zremrangebyscore key start stop

 

posted @ 2018-10-05 17:18  龙~白  阅读(109)  评论(0编辑  收藏  举报