Redis入门学习

»Redis

目录:


在Linux上安装redis

  1. 安装gcc编译环境
yum install gcc--c++
  1. 将redis的源码包上传到linux
  2. 解压缩
  3. 进入redis加压缩后的源码目录,有一个Makefile文件,使用make命令进行编译。
  4. 使用
make install PREFIX=/usr/local/redis

将redis安装到 /usr/local/redis 目录下

至此,redis已经安装完毕


启动redis

  1. 将redis源码目录下的redis.conf文件复制到安装的目录下
    cp redis.conf /usr/local/redis/bin/
    
  2. 修改bin目录下的redis.conf文件
    daemonize yes
    
  3. 在bin目录下使用命令启动redis
    ./redis-server redis.conf
    

    至此,成功启动redis


使用redis客户端连接redis

  1. 连接
    ./redis-cli -h 192.168.25.129 -p 6379
    

    连接指定IP地址、指定端口号的redis

  2. 关闭连接
    ./redis-cli shutdown
    

    使用该命令会关闭redis

redis的基本操作

redis使用键值对来存储数据,似乎使用的是hash的算法,所以可以根据键很快的查询到值,而redis里面的值有五种基本数据类型,string、hash、set、list、sortset

1.string


set str1 1            //添加一个key为str1,值为1的键值对
get str1              //取出key为str1的值     此时输出"1"
keys *                //查看所有的key         此时输出"str1"
incr str1             //将str1的值加1         此时输出"1"
decr str1             //将str1的值减1         此时输出"1"

值得注意的是,redis里面所有的值都是字符串类型的

2.hash

hash里面的value是一个map即一个key对应一个map

hset hash1 key1 1      //添加一个key为hash1,value为 {key="key1",value="1"}的键值对
hset hash1 key2 2      //添加一个key为hash1,value为 {key="key2",value="2"}的键值对
hget hash1 key1        //输出1
hget hash1 key2        //输出2

3.set

值为set类型的话那么同一个键里面的值是不能重复的会自动去重并且值没有顺序
sadd set1 1 1 1 1 2 3 4 2       //实际上只插入了 1 2 3 4四个数据
smembers set1                  //输出 1 2 3 4
spop set1                     //随机输出一个值,并且将该值删除

4.list

值为有顺序的集合
lpush list1 4 3 2 1      //创建一个key为list1的键,他的值为1 2 3 4 左插法
rpush list1 5 6 7 8      //又插法
lrange list1 0 -1        //从左到又输出list1的值,1 2 3 4 5 6 7 8

5.sortset

sortset与set类似,只不过值有排序,创建值的时候需要给每个值一个分数。性能很低

6.设置key的过期时间

EXPIRE str1 60             //设置str1经过60s后过期

ttl str1               //查看str1还有多久过期
                        为正数的话则表示过期时间
                        -1则表示永不过期
                        -2则表示没有这个值


PERSIST str1              //清除str1的过期时间,即不过期

搭建redis集群

集群中每一节点都是互联的,客户端通过与集群中任意节点相连即连入集群,节点一共最大为16384个,因为集群通过算法将所有节点映射到0-16383上,来提高可用性。每个集群至少需要3个节点,每个节点最好有备份,因为一个节点挂了会导致整个集群挂掉。

1.使用ruby脚本搭建集群,需要安装ruby环境

yum install ruby
yum install rubygems

2.创建六个redis文件夹,可以将之前安装的redis目录下的bin复制六份,分别为 redis01,redis02,redis03,redis04,redis05,redis06, 并且删除cof,rdb文件。

3.修改每个redis.conf文件里面的端口号,不能重复,可以为7001-7006,然后将cluster-enable yes前的注释去掉

4.将redis-3.0.0.gem文件拷贝到linux中,使用gem install redis-3.0.0.gem命令安装依赖包。

5.将redis文件夹src下的redis-trin.rb文件拷贝到redis-cluster目录下

6.启动每一个redis,可以通过创建一个批处理文件

vim start-all.sh

cd redis01
./redis-server redis-conf
cd ../
cd redis02
./redis-server redis-conf
cd ../
cd redis03
./redis-server redis-conf
cd ../
cd redis04
./redis-server redis-conf
cd ../
cd redis05
./redis-server redis-conf
cd ../
cd redis06
./redis-server redis-conf
cd ../

然后执行该批处理文件

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

至此,集群搭建完毕。

在Java编程连接redis

使用的是以下三个对象

API都较为简单