Redis的安装以及使用入门

  • 2019 年 12 月 2 日
  • 笔记

Redis的安装以及使用入门

Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博、 Github、StackOverflow?等大型应用中都用其作为缓存,Redis的官网为http://redis.io/。

Redis命令参考:http://doc.redisfans.com/

配置好的Redis可参考:http://download.csdn.net/detail/cjb_king/9676569

1. 在下载好的Redis压缩包中将64位的解压后放到D:redis文件夹下,同时将文件夹内的redis.conf也拷贝到该目录下,这个是redis的配置信息:

2. 启动Redis 在Windows下面启用Redis和启动MogoDB一样,需要使用命令行启动,首先定位到该目录:

D:>cd d:redisserver

然后在d:redisserver>后运行如下命令:

redis-server.exe redis.conf

因为是在本机运行的,这里要注意端口号,同时要保持端口不要关闭。

3. 使用 现在再开一个控制台应用程序连接之前启动的Redis,切换路径D:redis>server>,在后面输入命令如下: redis-cli.exe -h 172.16.147.121 -p 6379 其中 –h后面是本机的ip地址,后面的是端口。 然后就可以执行set 给key为city赋值: redis 172.16.147.121:6379> set city Shanghai 通过get可以获取指定key为city的值了。 redis 172.16.147.121:6379> get city 4.添加如图四个引用:

做一个简单的例子,在.NET中获取之前我们设置的city的值。

class Program  {      static RedisClient redisClient = new RedisClient("172.16.147.121", 6379);//redis服务IP和端口      static void Main(string[] args)      {          Console.WriteLine(redisClient.Get<string>("city"));          Console.ReadKey();      }  }

附加:

一、NoSQL简介:

常见的NoSQL数据库有Hbase(基于列存储)、MongoDB(文档型数据库,采用类似于Json的Bson语法存储)和Redis(基于键值对存储)等,其中Redis是通过key-value这种键值对的形式来存储数据,如此在存取数据的时候检索数据会快很多,常用来满足高并发、大数据的系统。


二、Redis简介:

据Redis官方文档说明,Redis是一个开源的,内存中的数据结构存储系统,可用作数据库、缓存和消息中间件。


1.优点:

  • 支持多种类型的数据结构,如: 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)等;
  • 数据库完全在内存中,具有不同级别的磁盘持久性;
  • 数据可以复制到任意数量的从服务器,分片机制使得Redis支持将数据离散地存储在不同的物理机器上,以克服单台机器内存大小的限制。

2.应用场景:

  • 数据库服务器:用来存储结构相对简单的的数据;
  • 缓存系统:缓存需要大量读取、少量修改的数据;
  • 构建实时消息系统:利用发布(Pub)/订阅(Sub)特性;
  • 对队列的支持:基于列表(list)实现队列(queue)、堆栈(stack)。

三、Redis在Windows环境下的安装配置:

1.下载资源:

Redis官网资源下载页面下载最新的稳定版本,但由于Redis官网并不支持Windows平台,所以想要在Windows平台下安装使用Redis,需要下载微软开源技术团队(Microsoft Open Tech group)开发和维护着这个 Win64的版本这是Redis的源码,但是假如我们只是为了使用Redis的功能的话,可以直接下载Release版本

2.解压安装:

将下载到的安装压缩包解压,查看文件夹下的文件目录如下:

其中一个文件redis.windows.conf是redis的配置文件,设置redis的一下配置信息。

3.启动服务端:

通过管理员权限启动cmd,定位到redis安装包解压后的根目录下,输入指令启动redis服务:

redis-server.exe redis.windows.conf

此指令的作用就是通过读取redis.windows.conf中的配置信息,根据配置信息来设置和启动服务器,当然这个配置文件也是可以自定义的,只要执行时修改启动指定的配置文件即可,可以通过设置将日志信息打印输出到日志文件中,具体的信息请查看本文最后的附件中的redis.confi。 为了方便以后启动redis数据库,可将此命令写到当前目录下的新建文本文件中,取名为startService.bat,内容就是此指令,以后便可双击此文件启动服务。假如启动成功,可以看到:

4.启动客户端:

参考上述的做法,新建一个文件,命名为startClient.bat,内容为:

redis-cli.exe -h 127.0.0.1 -p 6379 -n 1 

这是启动redis客户端连接redis服务器的指令,其中-h为连接服务器的IP地址,-p是服务器端口号,-n是用户名,1是客户端连接密码。 双击startClient.bat启动客户端,启动成功可以看到:

此外,还可以看到服务端输出接收到客户端连接的打印信息:

                _._             _.-``__ ''-._        _.-``    `.  `_.  ''-._           Redis 3.2.100 (00000000/0) 64 bit    .-`` .-```.  ```/    _.,_ ''-._   (    '      ,       .-`  | `,    )     Running in standalone mode   |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379   |    `-._   `._    /     _.-'    |     PID: 9380    `-._    `-._  `-./  _.-'    _.-'   |`-._`-._    `-.__.-'    _.-'_.-'|   |    `-._`-._        _.-'_.-'    |           http://redis.io    `-._    `-._`-.__.-'_.-'    _.-'   |`-._`-._    `-.__.-'    _.-'_.-'|   |    `-._`-._        _.-'_.-'    |    `-._    `-._`-.__.-'_.-'    _.-'        `-._    `-.__.-'    _.-'            `-._        _.-'                `-.__.-'    [9380] 28 Feb 10:38:23.241 # Server started, Redis version 3.2.100  [9380] 28 Feb 10:38:23.241 * DB loaded from disk: 0.000 seconds  [9380] 28 Feb 10:38:23.241 * The server is now ready to accept connections on port 6379  [9380] 28 Feb 10:38:23.241 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:28.242 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:33.242 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:38.242 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:43.243 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:48.243 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:53.243 - 0 clients connected (0 slaves), 644280 bytes in use  [9380] 28 Feb 10:38:54.110 - Accepted 127.0.0.1:17916  [9380] 28 Feb 10:38:58.243 - 1 clients connected (0 slaves), 665144 bytes in use

附件:

自定义配置文件redis.confi的解析:

#是否作为守护进程运行  daemonize no  #Redis 默认监听端口  port 6379  #客户端闲置多少秒后,断开连接  timeout 300  #日志显示级别  loglevel verbose  #指定日志输出的文件名,也可指定到标准输出端口  logfile redis.log  #设置数据库的数量,默认最大是16,默认连接的数据库是0,可以通过select N 来连接不同的数据库  databases 32  #Dump持久化策略  #当有一条Keys 数据被改变是,900 秒刷新到disk 一次  #save 900 1  #当有10 条Keys 数据被改变时,300 秒刷新到disk 一次  save 300 100  #当有1w 条keys 数据被改变时,60 秒刷新到disk 一次  save 6000 10000  #当dump     .rdb 数据库的时候是否压缩数据对象  rdbcompression yes  #dump 持久化数据保存的文件名  dbfilename dump.rdb  ###########    Replication #####################  #Redis的主从配置,配置slaveof则实例作为从服务器  #slaveof 192.168.0.105 6379  #主服务器连接密码  # masterauth <master-password>  ############## 安全性 ###########  #设置连接密码  #requirepass <password>  ############### LIMITS ##############  #最大客户端连接数  # maxclients 128  #最大内存使用率  # maxmemory <bytes>  ########## APPEND ONLY MODE #########  #是否开启日志功能  appendonly no  # AOF持久化策略  #appendfsync always  #appendfsync everysec  #appendfsync no  ################ VIRTUAL MEMORY ###########  #是否开启VM 功能  #vm-enabled no  # vm-enabled yes  #vm-swap-file logs/redis.swap  #vm-max-memory 0  #vm-page-size 32  #vm-pages 134217728  #vm-max-threads 4