MySQL数据库与redis数据库的区别和redis数据库命令

现在的公司常用的数据库有MySQL和redis,现在我们就来学习一下MySQL数据库与redis数据库的区别和redis数据库命令

- 先来讲讲MySQL数据库和redis数据库的区别

Mysql存储在磁盘里,Redis存储在内存里,
Redis既可以用来做持久存储,也可以做缓存,而目前大多数公司的存储都是Mysql +Redis,Mysql作为主存储,Redis作为辅助存储被用作缓存,加快访问读取的速度,提高性能。
1)存储介质:Redis存储在内存,但是可以将数据持久化到硬盘。MySQL/Oracle将数据持久化的存储到硬盘;
2)数据库类型:Redis属于非关系型数据库;MySQL/Oracle关系型数据库
3)存取效率:Redis直接在内存中存取数据效率高;MySQL/Oracle每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库。

  • 再来说说什么是redis数据库:

Redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景,排行榜、计数器、消息队列推送、好友关注、粉丝。

Redis数据库有16个,分别是0-15,每个数据库用数字命名,而且每个数据库的连接密码都一样,redis只允许一个密码。数据库之间不能共享,并且基于单机才有,如果是集群,就没有数据库的概念了。

redis之所以分这么多个数据库,也是为了区分业务,不同的业务存放在不同的库,但是一个redis,一般是给一个项目用,项目内的不同业务,单独用一个库,这样不会相互有数据交叉。现在很多微服务项目,一个项目里有多个微服务,redis统一由团队管理,每个服务连接自己的库就可以了。

可以通过select num,来切换数据库

Redis支持五种数据类型:

字符串(String)
哈希(Hash)
列表(list)
集合(sets)
有序集合(sorted sets)

字符串(String): 增删改查
set key value
del key
set key newvalue
get key
mset key1 value1 key2 value2 --批量增加

哈希(Hash):
key {filed1: value, filed2:vaule…,fieldN:value}
hset key field_1 value1 – 增
hmset key field_1 value1 filed_2 value2 --批量增
hdel key filed-- 删
hset key field newValue – 改
hget key field --查某一field值
hvals filed – 查key对应的field-values
hlen key --计算field个数
hkeys --获取所有field

列表(list)

rpush key value [value …] --右插
lpush key value [value …] – 左插
linsert key BEFORE|AFTER pivot value
lrange key start stop
lindex key index
llen key
lpop key – 左弹
rpop key – 右弹
lset key index value --修改下标index的元素值

集合(sets) (集合内不允许相同的元素)
– 集合内元素操作
sadd key element [element …] --增
srem key element [element …] --删
scard key --计算元素个数
sismember key element --判断元素是否在集合中
spop key
smembers key --获取所有元素
– 集合间元素操作
sinter key [key …] --交集
sunion key [key …] – 并集
sdiff key [key …] --差集
– 将结果保存
sinterstore destination key [key …]
suionstore destination key [key …]
sdiffstore destination key [key …]

常用操作:
ttl
-1 键没设置过期时间/永久有效
-2 键不存在
>0 键剩余的过期时间
type --查看键的类型
flushdb/flushall --删除数据
info memory --查看内存信息
select db --选择库
Expire – 设置过期时间
PERSIST 命令可以移除一个键的过期时间

你可能感兴趣的:(redis,数据库)