redis安装和使用_linux安装redis和redis扩展 - CSDN
精华内容
参与话题
  • Redis安装使用总结

    千次阅读 2018-10-15 19:01:43
    Redis全称为:Remote Dictionary Server(远程数据服务)该软件使用C语言编写,Redis是一个开源的,使用C语言编写的,支持网络交互的,可以基于内存也可以持久化的key-value数据库,它支持丰富的数据类型,如:...

    Redis它是一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务)该软件使用C语言编写,Redis是一个开源的,使用C语言编写的,支持网络交互的,可以基于内存也可以持久化的key-value数据库,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。

    他的特点:

           1.Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。

           2.储存在Redis中的数据是持久化的,断电或重启后,数据也不会丢失。因为Redis的存储分为内存存储、磁盘存储和log文件三部分,重启后,Redis可以从磁盘重新将数据加载到内存中,这些可以通过配置文件对其进行配置,正因为这样,Redis才能实现持久化。

           3.Redis支持主从模式,可以配置集群,这样更利于支撑起大型的项目,这也是Redis的一大亮点。

    使用Redis的好处:

           1)速度快,因为存在内存中,存取都是 O(0)。

           2)支持多种数据类型  string、hash、list、set、sortedset。

           3)支持事务,操作都是原子性的,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行。

           4)丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除。

    redis持久化 -------------RDB(Redis DataBase)和AOF(Append Only File 只能追加不能改写的文件)

             RDB(),简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上;

             AOF(每秒持久化一次到磁盘),则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。

             其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。

             如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样。

              对于我们应该选择RDB还是AOF,官方的建议是两个同时使用。这样可以提供更可靠的持久化方案。

    1.Redis的安装

    Redis是c语言开发的。

    在虚拟机上安装redis需要c语言的编译环境。如果没有gcc需要在线安装。

    执行命令:yum install gcc-c++

     

    安装步骤:

    第一步:redis的源码包上传到linux系统。

    第二步:解压缩redis。

    第三步:编译。进入redis源码目录。make

    第四步:安装(一般软件安装到/usr目录下)。make install PREFIX=/usr/local/redis

    PREFIX参数指定redis的安装目录。

     

    2.redis启动

    前端启动:在redis的安装目录下直接启动redis-server

    [root@localhost bin]# ./redis-server

    后台启动:

    把/root/redis-3.0.0/redis.conf 复制到 /usr/local/redis/bin目录下

    [root@localhost redis-3.0.0]#   cp redis.conf /usr/local/redis/bin/

    修改配置文件:

    [root@localhost bin]# ./redis-server redis.conf

    no改yes

    查看redis进程:

    [root@localhost bin]# ps aux|grep redis

    root      5190  0.1  0.3  33936  1712 ?        Ssl  18:23   0:00 ./redis-server *:6379   

    root      5196  0.0  0.1   4356   728 pts/0    S+   18:24   0:00 grep redis

    关闭进程,运行完就关闭

    [root@localhost bin]# Kill 5190//关闭进程

     

    3.Redis-cli连接redis服务

    [root@localhost bin]# ./redis-cli

    127.0.0.1:6379>   //6379是这个服务使用的端口号,默认的单机服务端口是6379

    默认连接localhost运行在6379端口的redis服务。

    [root@localhost bin]# ./redis-cli -h 192.168.1.102 -p 6379

    -h:连接的服务器的地址

    -p:服务的端口号

    关闭redis:[root@localhost bin]# ./redis-cli shutdown

    4.Redis存储的五种数据类型,存放形式是(key,value)Value有五种类型:String,Hash,List,Set, SortedSet。

    4.1、String

    get:获取

    set:设置

    incr:加1

    decr:减1

    4.2、Hash key-fields-values

    hset: hset key fields values存一个(key,(fields(键),values(值)))

    hget:hget key fields values

     

    4.3、List  有顺序,可以重复

    lpush list1 a b c d //往左边存abcd,得到的是{d,c,b,a}

    lrange list1 0 -1//遍历查看元素,下标从0开始,到-1代表取全部,注意0和-1间有个空格

    lpop list1 //在左边取一个元素,取完就在list1消失。

    同样将l更改为r就是往右边执行

    4.4、Set 元素没有顺序,不可以重复

    sadd set1 a b c c c d //存进a,d,c,d

    smembers set1//查询遍历

     srem set1 a//删除set1中的a元素

    4.5、SortedSet(分数+元素) 有顺序,不能重复,带顺序的集合,运算代价很高,尽量不用

    zadd zset1 2 a 5 b 1 c 6 d

    结果:(integer)   4      //分数+元素,默认分数越低越先排,

     zrange zset1 0 -1//查询遍历

     zrem zset1 a//删除

     zrange zset1 0 -1 //升序查询

    zrevrange zset1 0 -1//降序排序

    zrange zset1 0 -1 withscores //升序带分数的查询

    zrevrange zset1 0 -1 withscores//降序带分数的查询

    4.6 Key命令

    1.设置key的过期时间。

          expire key second:设置key的过期时间,second为s

          ttl key:查看key的有效期//-1持久化,-2不存在,正数是在倒计时

          persist key:清除key的过期时间。Key持久化。

    例如:

    192.168.25.153:6379> expire Hello 100//过期时间为100s,可以每次重置

    (integer) 1

    192.168.25.153:6379> ttl Hello//查过期时间(倒计时),-1持久化,-2不存在

    (integer) 77

    4.7持久化方案

    Redis的所有数据都是保存到内存中的。持久化方案分成两种:

    Rdb:快照形式,定期把内存中当前时刻的数据保存到磁盘。Redis默认支持的持久化方案,有可能会丢失数据。

              15min 有一个key发生变化就保存到磁盘;

              5min有10个key发生变化就保存到磁盘;

              1min内有10000个key变化就保存到磁盘。

    aof形式:append only file。把所有对redis数据库操作的命令,增删改操作的命令。保存到文件中。数据库恢复时把所有的命令执行一遍即可。

               每1s写一次进磁盘。

    5. redis集群

    架构细节:

    (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

    (2)节点的fail是通过集群中超过半数的节点检测失效时才生效.

    (3)客户端与redis节点直连,不需要中间proxy.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

    (4)redis-cluster把所有的物理节点映射到[0-16383]slot(槽)上,cluster 负责维护node<->slot<->value

    Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

     

     

     

    附:redis集群的搭建

    1. Redis集群的搭建

    Redis集群中至少应该有三个节点。要保证集群的高可用,需要每个节点有一个备份机。

    Redis集群至少需要6台服务器。

    搭建伪分布式。可以使用一台虚拟机运行6个redis实例。需要修改redis的端口号7001-7006

    1. 集群搭建环境

    1、使用ruby脚本搭建集群。需要ruby的运行环境。

    安装ruby

    yum install ruby

    yum install rubygems

     

    1. 安装ruby脚本运行使用的包。

    [root@localhost ~]# gem install redis-3.0.0.gem

    Successfully installed redis-3.0.0

    1 gem installed

    Installing ri documentation for redis-3.0.0...

    Installing RDoc documentation for redis-3.0.0...

    [root@localhost ~]#

     

    [root@localhost ~]# cd redis-3.0.0/src

    [root@localhost src]# ll *.rb

    -rwxrwxr-x. 1 root root 48141 Apr  1  2015 redis-trib.rb

     

    1. 搭建步骤

    需要6台redis服务器。搭建伪分布式。

    需要6个redis实例。

    需要运行在不同的端口7001-7006

     

    第一步:创建6个redis实例,每个实例运行在不同的端口。需要修改redis.conf配置文件。配置文件中还需要把cluster-enabled yes前的注释去掉。

    第二步:启动每个redis实例。

    第三步:使用ruby脚本搭建集群。

    ./redis-trib.rb create --replicas 1 192.168.1.102:7001 192.168.1.102:7002 192.168.1.102:7003 192.168.1.102:7004 192.168.1.102:7005 192.168.1.102:7006

     

    创建关闭集群的脚本:

    [root@localhost redis-cluster]# vim shutdow-all.sh

    redis01/redis-cli -p 7001 shutdown

    redis01/redis-cli -p 7002 shutdown

    redis01/redis-cli -p 7003 shutdown

    redis01/redis-cli -p 7004 shutdown

    redis01/redis-cli -p 7005 shutdown

    redis01/redis-cli -p 7006 shutdown

    [root@localhost redis-cluster]# chmod u+x shutdow-all.sh

     

    [root@localhost redis-cluster]# ./redis-trib.rb create --replicas 1 192.168.1.102:7001 192.168.1.102:7002 192.168.1.102:7003 192.168.1.102:7004 192.168.1.102:7005  192.168.1.102:7006

    >>> Creating cluster

    Connecting to node 192.168.1.102:7001: OK

    Connecting to node 192.168.1.102:7002: OK

    Connecting to node 192.168.1.102:7003: OK

    Connecting to node 192.168.1.102:7004: OK

    Connecting to node 192.168.1.102:7005: OK

    Connecting to node 192.168.1.102:7006: OK

    >>> Performing hash slots allocation on 6 nodes...

    Using 3 masters:

    192.168.1.102:7001

    192.168.1.102:7002

    192.168.1.102:7003

    Adding replica 192.168.1.102:7004 to 192.168.1.102:7001

    Adding replica 192.168.1.102:7005 to 192.168.1.102:7002

    Adding replica 192.168.1.102:7006 to 192.168.1.102:7003

    M: 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3 192.168.1.102:7001

       slots:0-5460 (5461 slots) master

    M: 8cd93a9a943b4ef851af6a03edd699a6061ace01 192.168.1.102:7002

       slots:5461-10922 (5462 slots) master

    M: 2935007902d83f20b1253d7f43dae32aab9744e6 192.168.1.102:7003

       slots:10923-16383 (5461 slots) master

    S: 74f9d9706f848471583929fc8bbde3c8e99e211b 192.168.1.102:7004

       replicates 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3

    S: 42cc9e25ebb19dda92591364c1df4b3a518b795b 192.168.1.102:7005

       replicates 8cd93a9a943b4ef851af6a03edd699a6061ace01

    S: 8b1b11d509d29659c2831e7a9f6469c060dfcd39 192.168.1.102:7006

       replicates 2935007902d83f20b1253d7f43dae32aab9744e6

    Can I set the above configuration? (type 'yes' to accept): yes

    >>> Nodes configuration updated

    >>> Assign a different config epoch to each node

    >>> Sending CLUSTER MEET messages to join the cluster

    Waiting for the cluster to join.....

    >>> Performing Cluster Check (using node 192.168.1.102:7001)

    M: 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3 192.168.1.102:7001

       slots:0-5460 (5461 slots) master

    M: 8cd93a9a943b4ef851af6a03edd699a6061ace01 192.168.1.102:7002

       slots:5461-10922 (5462 slots) master

    M: 2935007902d83f20b1253d7f43dae32aab9744e6 192.168.1.102:7003

       slots:10923-16383 (5461 slots) master

    M: 74f9d9706f848471583929fc8bbde3c8e99e211b 192.168.1.102:7004

       slots: (0 slots) master

       replicates 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3

    M: 42cc9e25ebb19dda92591364c1df4b3a518b795b 192.168.1.102:7005

       slots: (0 slots) master

       replicates 8cd93a9a943b4ef851af6a03edd699a6061ace01

    M: 8b1b11d509d29659c2831e7a9f6469c060dfcd39 192.168.1.102:7006

       slots: (0 slots) master

       replicates 2935007902d83f20b1253d7f43dae32aab9744e6

    [OK] All nodes agree about slots configuration.

    >>> Check for open slots...

    >>> Check slots coverage...

    [OK] All 16384 slots covered.

    [root@localhost redis-cluster]#

     

    1. 集群的使用方法

    Redis-cli连接集群。

    [root@localhost redis-cluster]# redis01/redis-cli -p 7002 -c

    -c:代表连接的是redis集群

     

    1. Jedis

    需要把jedis依赖的jar包添加到工程中。Maven工程中需要把jedis的坐标添加到依赖。

     

    推荐添加到服务层。E3-content-Service工程中。

     

    1. 连接单机版

    第一步:创建一个Jedis对象。需要指定服务端的ip及端口。

    第二步:使用Jedis对象操作数据库,每个redis命令对应一个方法。

    第三步:打印结果。

    第四步:关闭Jedis

    @Test

          public void testJedis() throws Exception {

               // 第一步:创建一个Jedis对象。需要指定服务端的ip及端口。

               Jedis jedis = new Jedis("192.168.1.102", 6379);

               // 第二步:使用Jedis对象操作数据库,每个redis命令对应一个方法。

               String result = jedis.get("hello");

               // 第三步:打印结果。

               System.out.println(result);

               // 第四步:关闭Jedis

               jedis.close();

          }

     

    1. 连接单机版使用连接池

    第一步:创建一个JedisPool对象。需要指定服务端的ip及端口。

    第二步:从JedisPool中获得Jedis对象。

    第三步:使用Jedis操作redis服务器。

    第四步:操作完毕后关闭jedis对象,连接池回收资源。

    第五步:关闭JedisPool对象。

    @Test

          public void testJedisPool() throws Exception {

               // 第一步:创建一个JedisPool对象。需要指定服务端的ip及端口。

               JedisPool jedisPool = new JedisPool("192.168.1.102", 6379);

               // 第二步:从JedisPool中获得Jedis对象。

               Jedis jedis = jedisPool.getResource();

               // 第三步:使用Jedis操作redis服务器。

               jedis.set("jedis", "test");

               String result = jedis.get("jedis");

               System.out.println(result);

               // 第四步:操作完毕后关闭jedis对象,连接池回收资源。

               jedis.close();

               // 第五步:关闭JedisPool对象。

               jedisPool.close();

          }

     

    1. 连接集群版

    第一步:使用JedisCluster对象。需要一个Set<HostAndPort>参数。Redis节点的列表。

    第二步:直接使用JedisCluster对象操作redis。在系统中单例存在。

    第三步:打印结果

    第四步:系统关闭前,关闭JedisCluster对象。

     

    @Test

          public void testJedisCluster() throws Exception {

               // 第一步:使用JedisCluster对象。需要一个Set<HostAndPort>参数。Redis节点的列表。

               Set<HostAndPort> nodes = new HashSet<>();

               nodes.add(new HostAndPort("192.168.1.102", 7001));

               nodes.add(new HostAndPort("192.168.1.102", 7002));

               nodes.add(new HostAndPort("192.168.1.102", 7003));

               nodes.add(new HostAndPort("192.168.1.102", 7004));

               nodes.add(new HostAndPort("192.168.1.102", 7005));

               nodes.add(new HostAndPort("192.168.1.102", 7006));

               JedisCluster jedisCluster = new JedisCluster(nodes);

               // 第二步:直接使用JedisCluster对象操作redis。在系统中单例存在。

               jedisCluster.set("hello", "100");

               String result = jedisCluster.get("hello");

               // 第三步:打印结果

               System.out.println(result);

               // 第四步:系统关闭前,关闭JedisCluster对象。

               jedisCluster.close();

          }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • Redis安装使用

    千次阅读 2016-04-29 15:39:07
    Redis安装使用       Redis简介: 概述 1、Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。官网:http://redis.io/   2、...

    Redis安装及使用

     

     

     

    Redis简介:

    概述

    1Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。官网:http://redis.io/

     

    2redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

     

    3Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

     

    4Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

     

    5、Redis这种面向“键/值”对数据类型的内存数据库,可以满足我们对海量数据的读写需求。

     

     

     

    特性

    1高性能(Redis读的速度是11W次/s,写的速度是8.1W次/s)

    2原子性(保证数据的准确性)

    3持久存储(两种方式RDB/快照,AOF/日志)

    4主从结构(master-slave,负载均衡,高可用)

    5支持集群(3.0版本)

     

     

     

    应用(在高并发和实时请求的场景)

    新浪微博:

    1hash:关注列表,粉丝列表

    2string:微博数,粉丝数(避免使用select count(*) from...)

    3sorted set:TopN,热门微博

    还有github,stackoverflow等也用到了redis。

     

    使用Redis的公司:  http://www.redis.cn/topics/whos-using-redis.html

     

     

     

     

    Redis安装

    安装C编译环境

        yum -y install cpp
        yum -y install binutils
        yum -y install glibc
        yum -y install glibc-kernheaders
        yum -y install glibc-common
        yum -y install glibc-devel
        yum -y install gcc
        yum -y install make<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>

    注意:

    如果上面的软件都安装之后再执行make命令还报错,就需要在make命令后面加如下选项。

    make MALLOC=libc(指定内存分配器,默认是使用jemalloc)

     

     

    编译安装Redis(单机)

    redis官网:http://redis.io/

    redis历史版本下载:http://download.redis.io/releases/

    解压:tar -zxvf redis-3.0.0.tar.gz

    编译、安装

    make
    make install

    拷贝配置文件

    cp redis/redis.conf /etc/(拷贝到这里只是为了方便以后使用)

    修改配置文件redis.conf

    daemonize yes(后台运行)
    logfile /usr/local/redis/log(日志文件,目录必须存在)

    服务端启动

    redis-server /etc/redis.conf  [--port 6379]

    redis客户端启动

    redis-cli [-h 127.0.0.1] [-p 6379]

    关闭服务端

    redis-cli shutdown(在redis-cli命令行下直接敲shutdown)

    注意事项:

    1、启动时默认会在启动的目录生成RDB持久化文件dump.rdb,服务端下次启动时,如果还在这个有dump.rdb文件的目录启动,则上次的数据还存在,如果不是,则不存在。这个可以在配置文件redis.conf中配置。

    2启动时可以以指定配置文件redis.conf启动。

     


     

    Redis多数据库特性

    多数据库


    1、每个数据库对外都是以一个从0开始的递增数字命名,不支持自定义的。

    2、redis默认支持16个数据库,可以通过修改databases参数来修改这个默认值。

    3、redis默认选择的是0号数据库。

    4、SELECT 数字: 可以切换数据库。

    5、多个数据库之间并不是完全隔离的。

    6、flushall:清空redis实例下的所有数据。

    7、flushdb:清空当前数据库中的所有数据。

     

     

     

    Redis基本命令

    获得符合规则的键名称

    keys 表达式(?,* ,[],\?)

    判断一个键是否存在

    exists key
     

    删除键

    del key
    del key1 key2

    获得键值的数据类型

    Type key

    返回值可能是这五种类型(string,hash,list,set,zset)

     

    帮助命令

    "help <command>"      for help on <command>

    退出

    "quit" to exit
     

    注意:redis的命令不区分大小写

     

     

     

    Redis数据类型及操作


    1. 字符串(Strings)
    2. 列表(List)
    3. 集合(Set)
    4. 哈希 / 散列(Hash)
    5. 有序集合 (Sorted set)
    6. 位图(Bitmap)和超重对数(HyperLogLog)

     

     

    字符串(Strings)

    字符串类型是redis中最基本的数据类型,它能存储任何形式的内容,包含二进制数据,甚至是一张图片(二进制内容)。一个字符串类型的值存储的最大容量是512MB

     

    常用命令

    示例:

    启动服务端和客户端 (服务端设置了daemonize yes 在后台运行)

     

    注意:/etc/redis.conf 是我为了配置方便从编译好的Redis中拷贝过去的,并做了配置修改。

     


    SET / GETSETNX

    Setnx  [SET if Not eXists]  (如果不存在,则 SET)的简写:

    格式:set  key  value   (如果键存在,则为更新)

     

     


    MSET / MGET

    MSET key value [key value ...] :同时设置一个或多个 key-value 对。

    MGET key [key ...] : 返回所有(一个或多个)给定 key 的值。

     

     


    INCR key 

    将key中储存的数字值增一。如果key不存在,那么key的值会先被初始化为0,然后再执行INCR 操作。

     

     


    DECR

    DECR key

    将key中储存的数字值减一。如果key不存在,那么key的值会先被初始化为0,然后再执行DECR 操作。

     

     

     

    INCRBY

    INCRBY key increment

    将key所储存的值加上增量increment。如果key不存在,那么key的值会先被初始化为0,然后再执行INCRBY 命令。

     

     

     

    DECRBY

    DECRBY key decrement

    将key所储存的值减去减量decrement。如果key不存在,那么key的值会先被初始化为0,然后再执行DECRBY 操作。

     

     

     

    INCRBYFLOAT  

    INCRBYFLOAT  key  increment

    为key中所储存的值加上浮点数增量increment。如果key不存在,那么INCRBYFLOAT 会先将key的值设为0,再执行加法操作。

     

     

     

     

    哈希 / 散列(Hash

    1、hash类型的值存储了字段和字段值的映射,字段和字段值只能是字符串,不支持其他数据类型。hash类型的键至多可以存储2^32 -1 个字段。

    2、hash类型适合存储对象,redis可以为任何键增减字段而不影响其他键。

     

    命令:

    HSET / HGET

    HSET key field value:将哈希表key中的域field的值设为value。

    HGET key field:返回哈希表key中给定域field的值。

     

     


    HMSET / HMGET

    HMSET key field value [field value ...]:同时将多个field-value(域-值)对设置到哈希表 key 中。

    HMGET key field [field ...]:返回哈希表key中,一个或多个给定域的值。

     

     

     

    HGETALL / HSETNX

    HGETALL key:返回哈希表 key 中,所有的域和值。

    HSETNX key field value:将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。

     

     

     

    HEXISTS / HDEL

    HEXISTS key field:查看哈希表 key 中,给定域 field 是否存在。

    HDEL key field [field ...]:删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。

     

     

     

    HINCRBY

    HINCRBY key field increment:为哈希表 key 中的域 field 的值加上增量 increment 。

     

     

     

    HKEYS / HVALS

    HKEYS key:返回哈希表 key 中的所有域。

    HVALS key:返回哈希表 key 中所有域的值。

     

     

     

    HLEN

    HLEN key:返回哈希表 key 中域的数量。

     

     

     

     

    列表(List)

    1、list是一个有序的字符串列表,列表内部实现是使用双向链表(linked list)实现的。

    2、list还可以作为队列使用

    3、一个列表类型的键最多能容纳2^32 - 1个元素。

     

    命令:

    LPUSH / RPUSH

    LPUSH key value [value ...]:将一个或多个值 value 插入到列表 key 的表头

    RPUSH key value [value ...]:将一个或多个值 value 插入到列表 key 的表尾(最右边)。

     

     

     

    LPOP / RPOP

    LPOP key

    移除并返回列表 key 的头元素。

    RPOP key

    移除并返回列表 key 的尾元素。

     

     

     

    LLEN

    LLEN key:返回列表 key 的长度。

     

     

     

    LRANGE

    LRANGE key start stop :返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

     

     

     

    LINDEX

    LINDEX key index:返回列表 key 中,下标为 index 的元素。下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。

     

     


    LSET

    LSET key index value:将列表 key 下标为 index 的元素的值设置为 value 。

     

     

     

    LTRIM

    LTRIM key start stop:对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

     

     

     

    RPOPLPUSH

    RPOPLPUSH source destination:

    命令RPOPLPUSH 在一个原子时间内,执行以下两个动作:

    1、将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端。

    2、将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。

     

     

     

     

    集合(Set)

    set集合中的元素都是不重复的,无序的,一个集合类型键可以存储至多2^32 -1个元素

     

    命令:

     

    SADD / SMEMBERS

    SADD key member [member ...]:将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。

    SMEMBERS key:返回集合 key 中的所有成员。

     

     


    SREM / SISMEMBER

    SREM key member [member ...]:移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。

    SISMEMBER key member:判断 member 元素是否集合 key 的成员。

     

     


    SDIFF / SINTER / SUNION

    SDIFF key [key ...]:返回一个集合的全部成员,该集合是所有给定集合之间的差集。

    SINTER key [key ...]:返回一个集合的全部成员,该集合是所有给定集合的交集。

    SUNION key [key ...]:返回一个集合的全部成员,该集合是所有给定集合的并集。

     

     

     

    SDIFFSTORE / SINTERSTORE / SUNIONSTORE

    SDIFFSTORE destination key [key ...]:这个命令的作用和SDIFFSTORE类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。

    SINTERSTORE destination key [key ...]:这个命令类似于SINTERSTORE命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

    SUNIONSTORE destination key [key ...]:这个命令类似于SUNIONSTORE命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

    下面只演示SUNIONSTORE ,其他类似:

     

     


    SCARD / SPOP

    SCARD key:返回集合 key 的基数(集合中元素的数量)。

    SPOP key:移除并返回集合中的一个随机元素。

     

     

     

     

    有序集合(Sorted set)

    有序集合,在集合类型的基础上为集合中的每个元素都关联了一个分数,这样可以很方便的获得分数最高的N个元素(topN)。

     

    有序集合类型和列表类型的差异

    相同点

    (1)二者都是有序的

    (2)二者都可以获得某一范围的元素

    不同点

    (1)列表类型是通过双向链表实现的,获取靠近两端的数据速度极快,当列表中元素增多后,访问中间的数据速度会很慢,所以它比较适合很少访问中间元素的应用

    (2)有序集合类型是使用散列表和跳跃表(skip list)实现的,所以即使读取位于中间部分的数据速度也很快

    (3)列表中不能简单的调整某个元素的位置,但是有序集合可以(通过更改这个元素的分值)

    (4)有序集合要比列表类型更耗费内存

     

    命令:

     

    ZADD / ZSCORE

    ZADD key score member [[score member] [score member] ...]:将一个或多个 member 元素及其 score 值加入到有序集 key 当中。

    ZSCORE key member:返回有序集 key 中,成员 member 的 score 值。

     

     

     

    ZRANGE / ZREVRANGE

    ZRANGE key start stop [WITHSCORES]:返回有序集 key 中,指定区间内的成员。

    ZREVRANGE key start stop [WITHSCORES]:返回有序集 key 中,指定区间内的成员。

     

     

     

    ZRANGEBYSCORE

    ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]:返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。

     

     

     

    ZINCRBY / ZCARD / ZCOUNT

    ZINCRBY key increment member:为有序集 key 的成员 member 的 score 值加上增量 increment 。

     

     


    ZCARD / ZCOUNT

    ZCARD key:返回有序集 key 的基数。

    ZCOUNT key min max:返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。

     

     

     

    ZREM

    ZREM key member [member ...]:移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。

     

     

     

    HyperLogLog(超重对数)

    Redis HyperLogLog 是用来做基数统计的算法。

    优点:在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。因为在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。

    缺点:因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。

     

    命令:

    pfadd key element [element ...]

    pfcount key [key ...]

    pfmerge destkey sourcekey [sourcekey ...]

     

    注意:Redis的命令很多,详细的可以参考http://redisdoc.com/index.html

     

     

     

    Java代码操作Redis


    数据库连接方式:

    1、单机单连接方式

    2、单机连接池方式

    3、多机分布式+连接池方式

     

     

    首先创建Maven项目。然后在pom.xml中指定依赖。

    使用jedis第三方jar包操作redis

    mvn依赖:

     <dependency>                           
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.8.0</version>
     </dependency>

     

    代码示例:

    import java.util.Iterator;
    import java.util.Set;
    import redis.clients.jedis.Jedis;
    
    public class redisTest {
    public static void main(String[] args) throws Exception {
    showRedis();
    }
     
    //测试redis连接
    private static void showRedis() {
    //连接redis数据库
    Jedis jedis = new Jedis("192.168.33.130", 6379);
    //设置 key value
    jedis.set("baidu","QQ");
    //获取key对应的value
    String StrVal = jedis.get("baidu");
    System.out.println(StrVal);
    //获取数据库中所有keys
    System.out.println("数据库中所有键如下:");
            Set<String> keys = jedis.keys("*");
            Iterator<String> it=keys.iterator() ;   
            while(it.hasNext()){   
                String key = it.next();   
                System.out.println(key);   
            }
        }
    }

    打印结果:

    QQ
    数据库中所有键如下:
    site
    db
    person
    google

     

    连接池一些配置:

    //控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。  
    poolConfig.setMaxIdle(10);
    //控制一个pool最多有多少个jedis实例。  
    poolConfig.setMaxTotal(100);
    //表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
    poolConfig.setMaxWaitMillis(10000);
    //在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
    poolConfig.setTestOnBorrow(true);

     

    连接池工具类:

     

    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    public class redisUtils {
    
    	private redisUtils() {}
    	
    	private static JedisPool jedisPool = null;
    	
    	//获取链接
    	public static synchronized Jedis getJedis() {
    		if(jedisPool == null){
    			//创建config
    			JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
    			//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。 
    			jedisPoolConfig.setMaxIdle(10);
    			//控制一个pool最多有多少个jedis实例。
    			jedisPoolConfig.setMaxTotal(100);
    			//表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
    			jedisPoolConfig.setMaxWaitMillis(2000);
    			//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的; 
    			jedisPoolConfig.setTestOnBorrow(true);
    			jedisPool = new JedisPool(jedisPoolConfig, "192.168.33.130",6379);
    		}
    		//返回连接池资源
    		return jedisPool.getResource();
    	}
    	
    	public static void returnResource(Jedis jedis) {
    		jedis.close();
    		
    	}
    
    }

    工具类使用:

    //测试redis连接
    private static void showRedis() {
    //连接redis数据库
    Jedis jedis = redisUtils.getJedis();
    //设置 key value
    jedis.set("baidu","QQ");
    //获取key对应的value
    String StrVal = jedis.get("baidu");
    System.out.println(StrVal);
    //获取数据库中所有keys
    System.out.println("数据库中所有键如下:");
            Set<String> keys = jedis.keys("*");
            Iterator<String> it=keys.iterator() ;   
            while(it.hasNext()){   
                String key = it.next();   
                System.out.println(key);   
            }
    }


     

     

    展开全文
  • Linux下Redis安装和使用

    万次阅读 2020-08-17 15:03:16
    一、Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zsethash。这些数据...

    一、Redis介绍

    Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。

    二、Redis的安装

    下面介绍在Linux环境下,Redis的安装与部署

    1、在安装redis之前先安装C++编译环境,查看目前服务器上gcc的版本:gcc -v,

    如果Linux系统没有安装gcc编译器,du会提示“Command not found”;如果提示命令找不到,则表明没有安装;

    或者更新版本,不然后续make的时候会报错。yum -y install gcc-c++

    gcc的一些参考文章 https://blog.csdn.net/Betty2017/article/details/80953282

    2、首先上官网下载Redis 压缩包,地址:https://redis.io/download 下载稳定版即可,目前我下载的是5.0.0版本,官方建议新手使用5.0版本。

    3、通过远程管理工具,将压缩包拷贝到Linux服务器中,一般服务器之外的第三方软件装在opt这个文件夹中,执行解压操作。

    解压命令 tar xzf redis-6.0.4.tar.gz

     

    图一

    3、进入到解压后的路径

    cd redis-6.0.4

    4、编译

    make

    编译完成之后,可以看到解压文件redis-6.0.4 中会有对应的src、conf等文件夹,这和windows下安装解压的文件一样,大部分安装包都会有对应的类文件、配置文件和一些命令文件。

    图二

    进入到src目录,里边有很多关键性文件:

    图三

    之后的做法一

    5、编译完成后redis就可以使用了

    进入到redis的压缩目录的src下

    cd redis-6.0.4/src

    开启服务

    ./redis-server

    图四

    启动成功后会显示redis的pid按住crtl+c 可以退出服务.

    注意:这里直接执行Redis-server 启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。所以执行下面的配置。

    做法二

    6、

    为了方便管理,将redis-6.0.4文件目录中的conf配置文件和src目录中常用命令拷贝到统一文件中:

    根据个人习惯,在相应目录下新建对应文件夹,例如:/myredis

    [root@VM_0_4_centos src]# cp ../myredis

    6.1 后台启动redis服务

    a.修改/myredis/redis.conf配置文件,命令 vim redis.conf,将后台启动打开,即将daemonize选项由no置为yes

    图五

    b.再次启动redis服务,并指定启动服务配置文件,执行命令

    进入文件目录/usr/local/bin,执行./redis-server /myredis/redis.conf脚本文件:

    图六

    查看进程:ps -A | grep redis 可以看到提示Redis服务已经启动,并且返回版本信息及进程号,这时表明Redis已经启动。

    6.3 简单使用

    执行 ./redis-cli 操作脚本,进入Redis操作环境,以键值对的形式设置变量名和变量值,然后可以通过变量名获取到它的值:

    图七

    停用服务,停用前先查看现在服务的状态:

    ps -ef |grep redis 检查redis后台进程是否正在运行

    图八

    此图显示redis正在提供服务。

    杀死进程服务使用kill -9 24915

    #检测6379端口是否在监听

    netstat -lntp | grep 6379

    图九

    #使用客户端,停用服务。

    ./redis-cli shutdown ,停用后并查看此时状态,是停用的状态。

    图十

    以下内容参看链接为

    https://baijiahao.baidu.com/s?id=1657881771516980585&wfr=spider&for=pc

    配置参数的修改

    此时我们还需要自己编辑一个redis的配置文件,不编辑也可以用,但是自己编辑会更好,配置文件如下。

    port 6379 # 端口号

    daemonize yes # 后台运行

    pidfile /data/6379/redis.pid # 存放redis pid的文件

    loglevel notice # 日志等级

    logfile "/data/6379/redis.log" # 指定redis日志文件的生成目录

    dir /data/6379 # 指定redis数据文件夹的目录

    protected-mode yes # 安全模式,如果需要远程连接,需要给成no

    requirepass nihao # 设置redis的密码

    参考文章地址为

    https://blog.csdn.net/sinat_35861727/article/details/79262961

    三、Redis可视化工具Redis Desktop Manager

    3.1下载Redis Desktop Manager

    图十一

    3.2 安装Redis Desktop Manager

    redis-desktop-manager-0.8.8.384.exe   傻瓜式安装,点击下一步就行。

    安装完成桌面会生成如下快捷图标,双击启动,创建连接如右图。

    图十二

    遇到的问题及解决办法

    https://blog.csdn.net/u014071875/article/details/103715183

     

    展开全文
  • Redis 安装使用

    2020-05-25 17:42:07
    **Redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景,排行榜、计数器、消息队列推送、好友关注、粉丝。 1 Redis与MySQL/Oracle的区别: 1)存储介质:Redis...

    1安装
    1 将Redis文件传到linux中进行解压
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    **2 Redis介绍
    **Redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景,排行榜、计数器、消息队列推送、好友关注、粉丝。

    1 Redis与MySQL/Oracle的区别:
    1)存储介质:Redis存储在内存,但是可以将数据持久化到硬盘。MySQL/Oracle将数据持久化的存储到硬盘;
    2)数据库类型:Redis属于非关系型数据库;MySQL/Oracle关系型数据库
    3)存取效率:Redis直接在内存中存取数据效率高;MySQL/Oracle每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库。

    第一:会在反复链接数据库上花费大量时间,从而导致运行效率过慢;
    第二:反复的访问数据库也会导致数据库的负载过高

    2 与关系型数据库区别
    Redis数据库有16个,分别是0-15,每个数据库用数字命名,而且每个数据库的连接密码都一样,redis只允许一个密码。数据库之间不能共享,并且基于单机才有,如果是集群,就没有数据库的概念了。

    redis之所以分这么多个数据库,也是为了区分业务,不同的业务存放在不同的库,但是一个redis,一般是给一个项目用,项目内的不同业务,单独用一个库,这样不会相互有数据交叉。现在很多微服务项目,一个项目里有多个微服务,redis统一由团队管理,每个服务连接自己的库就可以了。

    可以通过select num,来切换数据库
    在这里插入图片描述
    3 Redis数据结构
    Redis支持五种数据类型:
    字符串(String)
    哈希(Hash)
    列表(list)
    集合(sets)
    有序集合(sorted sets)

    字符串(String): 增删改查

    set key value
    del key
    set key newvalue
    get key
    mset key1 value1 key2 value2 --批量增加

    Redis数据结构-哈希(hash)
    在这里插入图片描述
    Redis数据结构-列表(list)
    列表(list)
    rpush key value [value …] --右插
    lpush key value [value …] – 左插
    linsert key BEFORE|AFTER pivot value
    lrange key start stop
    lindex key index
    llen key
    lpop key – 左弹
    rpop key – 右弹
    lset key index value --修改下标index的元素值

    Redis数据结构-集合(Set)
    集合(sets) (集合内不允许相同的元素)
    集合内元素操作
    sadd key element [element …] --增
    srem key element [element …] --删
    scard key --计算元素个数
    sismember key element --判断元素是否在集合中
    spop key
    smembers key --获取所有元素
    – 集合间元素操作
    sinter key [key …] --交集
    sunion key [key …] – 并集
    sdiff key [key …] --差集
    – 将结果保存
    sinterstore destination key [key …]
    suionstore destination key [key …]
    sdiffstore destination key [key …]

    Redis数据结构-设置过期时间
    常用操作:
    ttl
    -1 键没设置过期时间/永久有效
    -2 键不存在
    >0 键剩余的过期时间
    type --查看键的类型
    flushdb/flushall --删除数据
    info memory --查看内存信息
    select db --选择库
    Expire – 设置过期时间
    PERSIST 命令可以移除一个键的过期时间

    Redis性能测试
    Redis自带了一个叫redis-benchmark工具来模拟N个客户端同时发出M个请求
    在这里插入图片描述
    选择测试键的范围大小 -r
    默认情况下面,基准测试使用单一的key,在一个基于内存的数据库里,单一key测试和真实情况下面不会有巨大变化。
    当然,使用一个大的key范围空间,可以模拟现实情况下面的缓存不命中情况。
    这个时候可以使用-r命令。例如我们想设置10万随机key连续SET 100万次,命令如下
    [root@testceph ~]# redis-cli flushall
    [root@testceph ~]# redis-benchmark -t set -r 100000 -n 1000000
    [root@testceph ~]# redis-benchmark -t set -r 100000 -n 1000000
    使用pipelining -P
    默认情况下,每个客户端都是在一个请求完成之后才发送下一个请求(benchmark会模拟50个客户端除非使用-c指定特定的数量),
    这意味着服务器几乎是按顺序读区每个客户端的命令。
    真实世界会更复杂,Redis支持/topics/pipelining,使得可以一次性执行多条命令成为可能。Redis pipelining可以提高服务器的TPS
    使用pipelining 16条命令的测试范围
    [root@testceph ~]# redis-benchmark -n 1000000 -t set,get -P 16 -q
    SET: 1218026.88 requests per second
    GET: 1322751.38 requests per second

    Redis架构模式
    1.单机版

    优点:简单;
    缺点:内存容量有限;处理能力有限;无法高可用

    2.集群版

    优点:
    主从复制:Redis 的复制(replication)功能允许用户根据一个 Redis 服务器来创建任意多个该服务器的复制品,其中被复制的服务器为主服务器(master),而通过复制创建出来的服务器复制品则为从服务器(slave)。 只要主从服务器之间的网络连接正常,主从服务器两者会具有相同的数据,主服务器就会一直将发生在自己身上的数据更新同步 给从服务器,从而一直保证主从服务器的数据相同。

    展开全文
  • Redis(window版本)安装使用

    万次阅读 2019-02-24 23:33:49
    Redis(window版本)安装使用 1、打开redis官网http://redis.io/点击Download 2.往下拉,找到Windows,由图片中的文字可以看出Redis项目不正式支持Windows。 但是,Microsoft开放技术小组开发维护这个Windows...
  • Windows安装Redis 教程

    千次阅读 2018-08-27 19:47:36
    Redis 官网:https://redis.io/,官网提供的是linux版本的,下载windows版本的地址...1、安装。 运行对话框输入"cmd",打开命令提示符对话框。定位到redis解压缩后的文件夹中。输入“redis-server.exe ...
  • redis安装和使用

    千次阅读 2016-08-02 19:50:58
    1、安装redis: 上传文件到固定目录下;版本为: redis-3.2.0tar xzvf redis-3.2.0.tar.gzcd redis-3.2.0make && make install2、启动redisredis-server redis.conf3、一般不会在原配置文件上进行修改,原配置文件...
  • 安装php的redis扩展
  • windows下redis安装

    万次阅读 多人点赞 2018-07-13 09:04:50
    1,redis官方下载地址:https://redis.io/download,redis 64位下载地址:https://github.com/ServiceStack/redis-windows,本人测试使用的是redis-64.3.0.503版本。2,解压redis-64.3.0.503.zip,解压后的文件结构...
  • Mac 安装和使用redis

    千次阅读 2017-05-24 17:27:46
    Mac下使用redis安装brew install redis设置开机启动 ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist启动服务redis-server /usr/...
  • 分布式缓存系统Redis安装和使用

    千次阅读 2013-09-26 17:44:55
    Redis是一个不错的缓存数据库,读取数据速度效率都很不错。今天大家共同研究下redis的用法。结合网上的资料自己的摸索,先来看下安装与配置把。咱们主要看在WINDOWS上怎样使用REDIS数据库。   下载地址:...
  • 最新版Redis安装配置教程(Windows+Linux)

    千次阅读 多人点赞 2020-07-31 17:46:02
    目录Windows安装1、Github上下载压缩包2、解压压缩包3、开启Redis4、使用Redis客户端连接Linux安装1、下载安装压缩包2、Xshell连接服务器3、将压缩包上传到服务器4、验证上传是否成功5、解压Redis安装包6、进入Redis...
  • Redis安装和部署

    千次阅读 2018-08-17 11:27:03
    1.下载 Redis 版本号采用标准惯例:主版本号.副版本号.补丁级别,一个副版本号就标记为一个标准发行版本,例如 1.2,2.0,2.2,2.4,2.6,2.8,奇数的副版本号用来表示...Redis 是基于C语言开发的,所以要安装C语言...
  • Ubuntu redis安装使用

    千次阅读 2017-01-16 21:01:26
    在Ubuntu上安装redis有2种方式,第一种是下载安装包,第二种是Ubuntu在线安装 这里讲的是第二种 1、首先 更新 apt-get update 2、apt-get install redis-server 安装redis 3、查看redis ...
  • Redis——Windows安装

    万次阅读 多人点赞 2019-04-02 15:28:36
    针对不同的用户,Redis有WindowsLinux两种环境安装, 官网上下的是Statble版是Linux,大家一定要注意。由于本人做本地端,所以以下谈的是Windows安装。 本文Redis下载地址:...
  • 本文不为Redis安装和使用范畴,有兴趣的朋友可以联系我,也可以自行百度:Redis安装和使用 Redis实现缓存添加,更新删除的方法有很多. 1:较为笨拙的方法,也是最稳定的方法,也是一些自动化缓存更新的原理但是代码就...
  • 如果命令 which whereis 都找不到安装目录,可使用以下办法 ps -ef|grep redis 得到了进程号 xxxx 然后 ls -l /proc/xxxx/cwd
  • Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由...
  • Redis安装目录内容详解(Yum方式安装rpm包)通过yum方式将redis的rpm包安装到本地机器之后,通过rpm -ql redis查看安装的目录,发现有28个目录文件,但是每个目录文件代表什么含义,文件里的配置又是什么意思,目前...
  • Linux下redis安装使用

    千次阅读 2017-12-06 11:33:58
    Linux下redis安装使用  redis官网地址:http://www.redis.io/   最新版本:2.8.3   在Linux下安装Redis非常简单,具体步骤如下(官网有说明):  1、下载源码,解压缩后编译源码。 $ wget ...
1 2 3 4 5 ... 20
收藏数 156,474
精华内容 62,589
关键字:

redis安装和使用