Redis常用数据类型及使用场景

redis命令

randomkey: 返回随机的key
exsis key: 判断某个key是否存在,存在返回1,不存在0
type key:返回key存储的类型
del key:删除key 删除成功返回1,失败/不存在0
rename key newkey:改名
expire key time:设置key的生命周期以秒为单位 成功返回1,不存在返回0
pexpire key 整数值:设置key的生命周期以毫秒为单位
ttl key:查询key的生命周期(秒) 永久返回-1,不存在返回-2
pttl key:查询key 的生命周期(毫秒)
persist key:把指定key设置为永久有效 成功返回1,失败/不存在0

什么是Redis 和 Memcache

Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,跨平台的非关系型的高性能键值对数据库。

redis 主要是基于内存来进行高性能、高并发的读写操作的。数据类型:string、set(无序集合)、zset(有序集合)、hash(哈希)、list(列表)
memcache是一套分布式的高速缓存系统 数据类型:仅字符串 类似 cookie

Redis常用作分布式锁、还支持事务、持久化、LUA脚本、LRU驱动事件、多种集群方案。

Redis的优缺点

优点
读写性能优异,Redis能读的速度是110000次/s,写的速度是81000次/s。
支持数据持久化,支持AOF和RDB两种持久化方式。
支持事务,Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行
数据结构丰富,除了支持string类型的value外还支持hash、set、zset、list等数据结构
支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。
缺点
数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。
主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。
Redis 较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。

一、Redis的五大数据类型

String(字符串)、list(列表)、Set(集合)、Zset(sorted set:有序集合)、Hash(哈希,类似java里的map)


特性:string:储存同样的key时,前面的key对应的value会被覆盖。

 

hash:一个存储空间保存多个键值对数据,存储效率高。key和value都一样那么会被覆盖的。

list:双向链表结构,添加先后有顺序。可以存储大量数据,有索引,随时增删改查,能进行同类型可重复数据的操作,不覆盖。但是双向链表结构存储效率低,读取效率慢。

set:储存效率高,取出时是无序的(指添加先后的顺序)。能够保存大量的数据,由于高效的内部存储机制,读取效率高。可用于同类型不重复数据的操作。

sorted_set (也称zset类型):具有排序特征,于权重而言从小到大或从大到小排序,能够保存大量的数据。

Redis中常用的命令

命令Redis中PHP中
清空当前数据库所有keyflushdb$redis->flushdb
清空所有数据库的所有keyflushall$redis->flushall
查询所有的keykeys *$redis->keys('*')
判断某个key是否存在exists key$redis->exists('key')
返回当前数据库中key数目dbsize$redis->dbsize
设置key多少秒过期expire key 10$redis->expire('key',ttl)
同时将多个 field-value (字段-值)对设置到哈希表中,键名相同会替换值,不同键名会往里添加HMSET myhash field1 "Hello" field2 "World"$redis->hmset(key,value(索引数组))
切换数据库目录0-15select(int)$redis->select(int)
追加到key的现有value中$redis->append($arr,'string')
自增1,如不存在key,赋值为1(仅整型)$redis->incr('key')

Redis面试题(2020最新版)__redis面试题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值