“Redis:常用命令”的版本间差异
跳到导航
跳到搜索
无编辑摘要 |
|||
第25行: | 第25行: | ||
# 支持部分'''事务'''操作 | # 支持部分'''事务'''操作 | ||
== 关于 NoSQL == | |||
redis 属于'''NoSQL'''数据库,NoSQL 数据库叫'''非关系型数据库''',('''NoSQL = Not Only SQL'''),意即“不仅仅是SQL”。 | redis 属于'''NoSQL'''数据库,NoSQL 数据库叫'''非关系型数据库''',('''NoSQL = Not Only SQL'''),意即“不仅仅是SQL”。 | ||
2021年5月9日 (日) 20:36的版本
关于
Remote Dictionary Server(Redis)是一个开源的由 Salvatore Sanfilippo 使用 ANSI C 语言编写的'''key-value'''数据存储服务器。其值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,所以它通常也被称为数据结构服务器。
Redis 本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。
- 因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的 Key-Value DB。
- Redis的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构,此外【单个 value 的最大限制是 1 GB】,不像 memcached 只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。
- 比方说用他的 List 来做 FIFO 双向链表,实现一个轻量级的高性 能消息队列服务,用他的 Set 可以做高性能的 tag 系统等等。【???】
- 另外 Redis 也可以对存入的 Key-Value 设置 expire 时间,因此也可以被当作一个功能加强版的 memcached 来用。
Redis 的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此 Redis 适合的场景主要局限在较小数据量的高性能操作和运算上。
特点
redis 的特点:
- redis 足够简单和稳定
- 支持丰富的数据结构
- 内存存储读写性能优秀
- 提供持久化的支持
- 支持部分事务操作
关于 NoSQL
redis 属于NoSQL数据库,NoSQL 数据库叫非关系型数据库,(NoSQL = Not Only SQL),意即“不仅仅是SQL”。
按存储方式不同,数据库可以分为以下类型:
- key-value 存储:“Berkeley DB”、“MemcacheDB”、“Redis”;【Memcache不能持久化???】
- 文档存储:“MongoDB”、“CouchDB”;
- 列存储:“Hbase”、“Cassandra”;
基础命令
redis手册:
- redis英文版命令大全:“https://redis.io/commands”
- redis中文版命令大全:“http://redisdoc.com/”
基础命令:
- 验证安装:(redis-cli等链接后)输入“ping”(redis返回“PONG”表示服务运行正常);
- 切换库命令:“select <db>”;
- 删除所有库的数据:“flushall”;
- 删除当前库的数据:“flushdb”;
- 获得 redis 的所有配置值:“config get *”;
- redis-cli 退出当前 redis 连接:“exit”或“quit”;
- 查看当前数据库中key的数目:“dbsize”;
- 查看 redis 服务器的统计信息:“info”;
NOTE:
- “redis.conf”是 Redis 的配置文件;
- redis 默认为 16 个库(默认自动使用 0 号库);
安全
以下都是在配置文件“redis.conf”中进行修改。
设置密码
配置文件中:
requirepass 123456
客户端连接则需要密码:“AUTH 123456”或者“redis-cli -h 127.0.0.1 -p 6379 -a 123456”;
- 因为 redis 速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K 次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。
绑定ip
配置文件中:
# bind 127.0.0.1
- 取消 ip 绑定注释(去掉 #),
- 修改“127.0.0.1”为允许访问 redis 服务器的ip地址:
禁用命令、重命名命令
配置文件中:
rename-command FLUSHALL oyfekmjvmwxq5a9c8usofuo369x0it2k # 重命名FLUSHALL命令
rename-command FLUSHALL "" # 禁用FLUSHALL命令
rename-command FLUSHDB "" # 禁止FLUSHDB命令
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 # 重命名CONFIG命令
rename-command CONFIG "" # 禁止CONFIG命令
- 对于禁用“FLUSHALL”命令,需要保证“appendonly.aof”文件没有 flushall 命令,否则服务器无法启动;
修改默认端口
配置文件中:
port 6379
- 修改 redis 的端口,这一点很重要,使用默认的端口很危险;