查看“Redis:常用命令”的源代码
←
Redis:常用命令
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:Redis]] == 关于 == <pre> Remote Dictionary Server(Redis)是一个开源的由 Salvatore Sanfilippo 使用 ANSI C 语言编写的'''key-value'''数据存储服务器。其值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,所以它通常也被称为数据结构服务器。 </pre> 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'''”中进行修改。 === 设置密码 === 配置文件中: <syntaxhighlight lang="properties"> requirepass 123456 </syntaxhighlight> 客户端连接则需要密码:“'''AUTH 123456'''”或者“'''redis-cli -h 127.0.0.1 -p 6379 -a 123456'''”; * 因为 redis 速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K 次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。 === 绑定ip === 配置文件中: <syntaxhighlight lang="properties"> # bind 127.0.0.1 </syntaxhighlight> # 取消 ip 绑定注释(去掉 #), # 修改“127.0.0.1”为允许访问 redis 服务器的ip地址: === 禁用命令、重命名命令 === 配置文件中: <syntaxhighlight lang="properties"> rename-command FLUSHALL oyfekmjvmwxq5a9c8usofuo369x0it2k # 重命名FLUSHALL命令 rename-command FLUSHALL "" # 禁用FLUSHALL命令 rename-command FLUSHDB "" # 禁止FLUSHDB命令 rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 # 重命名CONFIG命令 rename-command CONFIG "" # 禁止CONFIG命令 </syntaxhighlight> * 对于禁用“FLUSHALL”命令,需要保证“appendonly.aof”文件没有 flushall 命令,否则服务器无法启动; === 修改默认端口 === 配置文件中: <syntaxhighlight lang="properties"> port 6379 </syntaxhighlight> * 修改 redis 的端口,这一点很重要,使用默认的端口很危险;
返回至“
Redis:常用命令
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息