简介

  我所在的公司是一个以线下业务为主的公司,软件这一块的东西可以说是手工作坊,技术上的东西全靠大家自己折腾。最近也是觉得自己在社会主义的怀抱里安逸了太久,要提高思想政治觉悟,不能忘了资本主义的黑暗,要多学一点技术,武装自己,同资本主义做斗争,Redis 就是众多武器中的一个。

  Redis 全名 Remote Dictionary Server,是一个使用 ANSI C 预研编写的、遵守 BSD 协议的、支持网络的、可基于内存可持久化的、高性能 Key-Value 数据库,同时他也提供了多种语言(Java、C/C++、C#、PHP、JavaScript等)的 API。

  相交于其他的 Key-Value 数据库,Redis 的有如下优点:

  • Redis 是开源免费的,遵守 BSD 协议;
  • Redis 性能极高,读取数度能达到110000次/s,写的速度是81000次/s;
  • Redis 数据类型更为丰富,除了 string 类型之外,还支持 hash、list、set、zset 等数据的存储;
  • Redis 的所有操作都是原子的;
  • Redis 运行在内存中,但是可以持久化到磁盘,且支持 master-slave 模式的数据备份。

Windows 安装

  官网:http://redis.io/

  大家可以根据需要选择自己需要的版本自行下载,本篇文章以 Windows 环境下的安装为例:

  解压压缩包到指定位置,进入命令行,切换到解压的位置:64位机请进入 64bit 文件夹下,32位机请进入 32bit 文件夹下,运行 redis-server.exe redis.conf 命令启动服务端,会显示如下界面: 

运行成功后,请不要关闭当前窗口,不然无法访问服务端,如果觉得这样运行过于麻烦,你也可以将Redis注册为系统服务运行如下命令即可:

D:\Runtime\redis_2.4.5 --service-install D:\Runtime\redis \windows.conf

  启动一个新的命令行窗口,切换到 Redis 目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379进入 Redis 的客户端界面:

在这个窗口中做一个简单的演示,设置键值对 set name lofei,再使用 get name 取出,如下:

Linux 安装

  不过Redis大多是部署在 Linux 服务器上的,这里顺便提一下 linux 服务器的安装:

$ wget http://download.redis.io/releases/redis-2.8.24.tar.gz
$ .tra.gz
$ cd redis-
$ make

  启动服务端:

$ cd src
$ ./redis-server redis.conf

  启动客户端:

$ cd src
$ ./redis-cli
redis> set name lofei
OK
redis> get name
"lofei"

  可视化管理工具推荐:RedisDesktopManager,大家可以到官网下载,不过前期学习还是建议使用命令进行操作。

  安装完成后,很多人想把Redis加入到开机启动中,按如下步骤操作(以3.0.7位例):

  1. 打开配置文件redis.conf将节点daemonize的值改为yes;
  2. 将redis-3.0.7拷贝到/usr/local/bin/redis_3.07下;
  3. 在/etc/init.d下创建redis文件,并添加内容如下:
    ###########################
    # chkconfig: 2345 10 90
    # description: Start and Stop redis  
    
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin  
    
    REDISPORT=6379
    EXEC=/usr/local/bin/redis_3.0.7/src/redis-server
    REDIS_CLI=/usr/local/bin/redis_3.0.7/src/redis-cli  
    
    PIDFILE=/var/run/redis.pid
    CONF="/usr/local/bin/redis_3.0.7/redis.conf"  
    
    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                    echo "$PIDFILE exists, process is already running or crashed"
            else
                    echo "Starting Redis server..."
                    sudo $EXEC $CONF
            fi
            " ]
            then
                  echo "Redis is running..."
            fi
            ;;
        stop)
            if [ ! -f $PIDFILE ]
            then
                    echo "$PIDFILE does not exist, process is not running"
            else
                    PID=$(cat $PIDFILE)
                    echo "Stopping ..."
                    $REDIS_CLI -p $REDISPORT SHUTDOWN
                    while [ -x ${PIDFILE} ]
                   do
                        echo "Waiting for Redis to shutdown ..."
                        sleep 1
                    done
                    echo "Redis stopped"
            fi
            ;;
       restart|force-reload)
            ${0} stop
            ${0} start
            ;;
      *)
        echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
            exit 1
    esac
    ##############################
  4. 为redis赋予执行权限: chmod +x /etc/init.d/redis
  5. 设定开机启动: chkconfig redis on

目录结构

  Redis 由5个可执行文件和1个配置文件构成,他们的作用如下:

  • /redis-server:Redis 服务器的启动程序;
  • /redis-cli:Redis 的命令行操作工具;
  • /redis-benchmark:Redis 性能测试工具,测试 Redis 运行环境的读写性能
  • /redis-check-aof:用于修复出问题的 AOF 文件;
  • /redis-check-dump:用于修复出问题的 dump.rdb 文件;
  • /redis.conf:Redis 的配置文件。

Redis学习笔记(一) 初识 Redis的更多相关文章

  1. Redis 学习笔记4: Redis 3.2.1 集群搭建

    在CenOS 6.7 linux环境下搭建Redis 集群环境 1.下载最新的Redis版本 本人下载的Redis版本是3.2.1版本,下载之后,解压,编译(make): 具体操作可以参考我的博文:R ...

  2. Redis学习笔记2-使用 Redis 作为 LRU 缓存

    当 Redis 作为缓存使用时,当你添加新的数据时,有时候很方便使 Redis 自动回收老的数据.LRU 实际上是被唯一支持的数据移除方法.Redis 的 maxmemory 指令,用于限制内存使用到 ...

  3. Redis 学习笔记2:redis.conf配置文件详解

    Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf. 参数说明: 参数说明 redis.conf 配置项说明如下: 1. Redis默认不是以守护进程的方式运行,可以通 ...

  4. Redis学习笔记一(Redis的详细安装及Linux环境变量配置和启动)

     Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 我使用的是下面这个版本: 若没有资源的话,我在 ...

  5. Redis学习笔记一:Redis安装

    Redis安装 1.下载进入redis官网下载redis-xxx.tar.gz包 2.将redis-xxx.tar.gz拷贝到Linux某一目录下并对其进行解压 tar -zxvf Redis-xxx ...

  6. redis学习笔记-01:redis简介

    1.redis是一个高性能的Nosql数据库,遵守BSD协议,使用c语言编写.支持网络.可基于内存亦可持久化,是一种日志型.Key-Value数据库,也可看做是一个分布式的.基于内存的缓存工具. 2. ...

  7. Redis学习笔记(二):Redis集群

    集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能.   1.节点 一个节点就是一个运行在集群模式下的Redis服务器.启动Redis服务器时,通过判断cluster-enabl ...

  8. redis学习之旅-初识Redis

    定义: redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存,事件发布或订阅,高速队列等场景.该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直 ...

  9. redis学习笔记-04:redis五大数据结构类型

    redis的命令大全网站:http://redisdoc.com/ 一.redis五大数据类型 1.String(字符串).Hash(哈希,类似Java里的Map).List(列表).Set(集合)和 ...

  10. redis学习笔记-03:redis安装

    一.redis的安装和配置 1.下载redis-5.0.4.tar.gz到/opt目录下,解压命令 :tar -zxvf redis-5.0.4.tar.gz,解压后出现redis-5.0.4的文件夹 ...

随机推荐

  1. js+css模仿打字效果

    1.效果 2.源码 <%@ page contentType="text/html;charset=UTF-8" language="java" %> ...

  2. Java 实时论坛 - Sym 1.3.0 发布

    简介 Sym 是一个用 Java 写的实时论坛,欢迎来体验! 初衷 Sym 的诞生是有如下几点原因: 我们想实现一种新的网络社区体验,独立博客+社区互动 大多数论坛用户体验不够现代化,想做一个和聊 Q ...

  3. APP开发中,如何从UI设计上提升APP用户体验

    设计中有很多细微的东西要注意,就如UI设计中,元素的统一性,图标风格.段落的排版等等,只有能注意这些细节,你的 APP UI 才算合格. 干货君总结了17个提升用户体验的 UI 设计小技巧,也是我们日 ...

  4. C# 4.0新加特性

    协变和逆变 这个在C#2.0中就已经支持委托的协变和逆变了,C#4.0开始支持针对泛型接口的协变和逆变: IList<string> strings = new List<strin ...

  5. -1.#IND000 &&图像类型转换

    (1):float acos(float x) 参数x的范围为-1.0f到1.0f之间,返回值范围在0.0f到3.141592653f之间,值得注意的是:当x超出[-1.0f,1.0f]这个范围时此函 ...

  6. Java JDK 1.7 和 JDK 1.8 新特性

    0 引言 本文主要介绍 Java JDK 中 1.7 和 1.8 的新特性. 1 JDK 1.7 新特性 1. switch可以接受String类型: public class Switch { pu ...

  7. Performance Co-Pilot

    Install Performance Co-Pilot 提前安装依赖 [root@iZrj97j6t7ih9hgz1me35hZ ~]# cat install.sh yum install -y ...

  8. Vue学习之路第十八篇:私有过滤器的使用

    1.上篇已经介绍了全局过滤器的使用,“全局”顾名思义就是一次定义处处使用,可以被一个页面里不同的Vue对象所使用,如下代码所示: <body> <div id="app1& ...

  9. webpack使用中遇到的相关问题

    问题一:使用webpack打包jquery后,在页面使用错误信息:$ is not defined new webpack.ProvidePlugin({ "$": "j ...

  10. [SCOI2010] 股票交易 (单调队列优化dp)

    题目描述 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第i天的股票买入价为每股APi, ...