51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Redis基础知识

# 一、基本操作 {#一、基本操作}

  1. exists key 检查key是否存在,若key存在返回1,否则返回0

  2. keys pattern 查找所有符合给定模式的key,通常用于查找key

  3. expire key seconds 为key设置超时时间(单位:秒),当key过期时,会被系统自动删除

  4. ttl key以秒为单位返回key的剩余生存时间(time to live),当key不存在时返回-2,当key存在未设置生存时间时返回-1

  5. pttl key 这个命令和ttl类似,它以毫秒为单位返回key的剩余生存时间

  6. move key db 将key移动到指定数据库中

  7. type key 返回key存储的值的类型,返回none(不存在)、string(字符串)、list(列表)、set(集合)、zset(有序集合)、hash(哈希表)

  8. hgetall key 获取hash表中所有field的值

  9. hexists key field 判断hash表中指定field是否存在,返回1;若key或field不存在则返回0

  10. hget key field 获取hash表中指定field的值,key或field不存在时返回nil

  11. hmget key field[field...] 获取hash表中多个指定field的值,若key不存在返回空,若field不存在返回nil

  12. hkeys key 返回hash表中的所有field,若key不存在返回空

  13. hvals key 返回hash表中的所有val,若key不存在返回空

  14. hdel key field[field...] 删除hash表中指定field,若key或field不存在则会忽略

  15. hset key field value 将field-value设置到hash表中,若key不存在会新建hash表再赋值,若field已存在则会覆盖现有值

  16. hsetnx key field value 和hset类似,但是hsetnx要求field不存在才能进行此操作,否则会返回0

  17. cmd进入redis命令:redis-cli -p 6381 连接从服务器:slaveof 127.0.0.1 6381

# 二、redis的基础概念 {#二、redis的基础概念}

  1. redis是使用C语言编写,遵守BSD协议,可基于内存可持久化的日志型。主要是用于数据库,缓存和消息的中间件。

  2. redis的下载地址 (opens new window)(偶数正式版,奇数为开发版)

  3. 查看进程的端口:

    ps -ef | gref XXX(redis) kill 进程号

  4. redis的特点以及和memcached的区别?

  • redis基本内容,可持久化,速度快
  • redis和memcached都是内存对象缓存系统,速度都很快。但redis支持持久化,而memcached不支持持久化,断电后消失
  • redis比memcached支持更多的数据结构(字符串、列表、集合、有序集合、哈希) ,memcached所有值都是字符串
  • 在性能上由于redis使用单核,而memcached使用的是多核。所以存储小数据时,redis性能更具有优势,但数据>=100kb时,memcached性能上更具有优势。
  • 在内存使用率上,只存储简单key-value时,memcached利用率更多,但redis使用hash结构来做key-value,由于此种结构需要压缩,所以他的内存利用率会更高。
  1. redis处理内存的方式:过期键的处理(定时删除、懒惰删除、定期删除) 和 淘汰策略 两都关系如下:
  • 过期键删除策略重点强调的是对过期的键操作,如果有键过期,但内存还够,不会使用淘汰机制,这时候会使用过期键删除策略来删除过期键
  • 淘汰机制强调的是对内存的操作,如果内存不够用了,即使有些键还没有到过期时间,也会进行删除操作,同时也会对没有设置过期时间的键操作
  • 过期键的处理,服务器一般会使用懒惰处理和定时删除相结合
  • 淘汰处理:要根据实际情况来进行配置。
赞(5)
未经允许不得转载:工具盒子 » Redis基础知识