redisredis入门


备注

本节概述了Redis是什么,以及开发人员为什么要使用它。

它还应该提到Redis中的任何大型主题,并链接到相关主题。由于Redis的文档是新的,您可能需要创建这些相关主题的初始版本。

版本

发布日期
3.2.3 2016年8月2日
3.2.2 2016年7月28日

使用Docker安装Redis

使用docker开始使用Redis很简单:

docker pull redis
docker run -p 6379:6379 --rm --name redis redis
 

现在,您已在端口6397 上运行实例

注意:当Redis停止时,所有数据都将被删除。

要连接redis-cli,请启动另一个docker:

docker run -it --link redis:redis --rm redis redis-cli -h redis -p 6379
 

现在你可以玩你的redis码头工具了。

概观

Redis是一个内存中的远程数据库,提供高性能,复制和独特的数据模型,以生成解决问题的平台。 Redis是一种开源(BSD许可),内存数据结构,用作数据库,缓存和消息代理。它被归类为NoSQL键值存储。它支持数据结构,如字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志和带有半径查询的地理空间索引。支持五种不同类型的数据结构,

  1. STRING(操作整个字符串,部分,整数和浮点数)
  2. 列表(从两端推送或弹出项目)
  3. SET(添加,获取,删除,检查,交叉,联合,差异等)
  4. HASH(存储,fatch,哈希删除)
  5. ZSET(与设置相同但有序)
  6. GEO(添加,更新,删除纬度和经度,获得给定的redius)

Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性(sync / async)。

在版本3之前,Redis以主从模式工作,并且需要Redis-Sentinel来提供高可用性。只有主机通过分叉接受写入和同步数据到其从属。

从版本3开始,Redis工作并推荐多主模式,其中内置故障转移,分片/分区,重新分片功能。版本3不需要Redis-Sentinel。为了使redis集群能够运行,至少需要3个主节点/进程。

其他功能包括复制,持久性和客户端分片。 Redis可以解决各种问题,这些问题可以自然地映射到Redis提供的内容中,使您无需执行其他数据库所需的概念性工作即可解决问题。

Redis“Hello World”

首先,您需要安装并启动Redis服务器,查看下面的链接,它可以帮助您在服务器或本地计算机上安装redis。

安装和设置

现在打开命令提示符并运行命令redis-cli

要保存第一组> SET'keyname',然后'value'

127.0.0.1:6379> SET hkey "Hello World!"
 

按Enter你应该看到

OK
 

然后输入:

GET hkey
 

你应该看到:

"Hello World!"
 

屏幕输出示例:

屏幕输出示例

Redis命令行界面

redis-cli 是Redis命令行界面程序,允许向Redis发送命令并直接从终端读取服务器发送的回复。基本命令行用法如下:

访问redis:

$ redis-cli
127.0.0.1:6379>
 

通过身份验证访问redis:

$ redis-cli -a myPassword
127.0.0.1:6379>
 

选择数据库并显示数据库大小(默认数据库编号为0):

127.0.0.1:6379> dbsize
(integer) 2
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 20
 

获取有关服务器的信息和统计信息:

127.0.0.1:6379> info
redis_version:2.4.10
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.6
process_id:947
uptime_in_seconds:873394
uptime_in_days:10
lru_clock:118108
used_cpu_sys:19.55
used_cpu_user:397.46
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:1
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:14295792
used_memory_human:13.63M
used_memory_rss:19853312
used_memory_peak:14295760
used_memory_peak_human:13.63M
mem_fragmentation_ratio:1.39
mem_allocator:jemalloc-2.2.5
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1468314087
bgrewriteaof_in_progress:0
total_connections_received:2
total_commands_processed:2
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master
db0:keys=2,expires=0
db1:keys=20,expires=0
 

退出redis-cli:

127.0.0.1:6379> exit
 

在Windows上使用Node.js示例安装Redis

Redis有一个由“Microsoft Open Technologies”提供的Windows端口。您可以使用以下网址找到的msi安装程序: https//github.com/MSOpenTech/redis/releases

安装完成后,您可以看到'Redis'是Windows服务(它的状态应该是“已启动”)

要编写在Node.js中使用Redis的“Hello world”示例(在Windows中也是如此),您可以使用以下npm模块: https ://www.npmjs.com/package/redis

代码示例:

var redis = require('redis'),
    client = redis.createClient();

client.set('mykey', 'Hello World');
client.get('mykey', function(err,res){
    console.log(res);
});