redis入门篇

一、redis简介

redis是一个key-value存储的系统,vaue可以是string(字符串)、hash(哈希)、list(列表)、set(集合)及zset(有序集合)这五种。

二、Linux下安装redis

Linux下安装redis,下载地址:http://redis.io/download,下载最新稳定版本。

本文使用的入门版本是2.8.17。也可以下载其它的版本。各个版本的基础使用上差异不大,均可作入门。

wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
# 编译
make

三、配置redis.conf

redis的配置文件在redis.conf在redis-2.8.17目录下,可以打开该配置文件查看各个配置项的解释。

四、启动redis服务

redis启动时默认以非守护进程的方式启动的,可以在redis.conf文件修改daemonize的值为true,改成守护进程的方式启动。redis的日志输出默认是标准输出,如果配置 Redis 为守护进程方式运行,则日志将会发送给 /dev/null。可参考配置修改。

redis-2.8.17/src目录下有redis-serverredis-cli两个二进制文件,分别用来启动服务端和客户端。

启动redis服务:

# 启动redis服务,需要指定redis.conf配置
./redis-server ../redis.conf

redis服务的默认端口是6379,可以从下面的命令看到:

[root@izwz9d2a0eoi8bhclssv1vz src]# ps -ef | grep redis
root     16834     1  0 14:22 ?        00:00:03 ./redis-server *:6379

启动redis客户端,设置一对key/value,验证redis服务:


[root@izwz9d2a0eoi8bhclssv1vz src]# ./redis-cli 
127.0.0.1:6379> set foo hello
OK
127.0.0.1:6379> get foo
"hello"

上面的命令中,将使用set命令将<foo, hello>存到了redis中,然后使用get命令获取foo的值,且成功获取,说明redis启动成功。

五、redis数据类型

redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(有序集合)。

5.1 String(字符串)

下面设置key为name,value为lan

127.0.0.1:6379> set name lan
OK
127.0.0.1:6379> get name
"lan"

5.2 Hash(哈希)

hash 是一个 string 类型的 field 和 value 的映射表,可用于存储一个对象

下面设置key为names,value为{"name1": "Mike", "name2": "Sarah", "name3":"John"},这个value的结构是哈希结构。

127.0.0.1:6379> hmset names name1 Mike name2 Sarah 
OK
127.0.0.1:6379> hmset names name3 John
OK
127.0.0.1:6379> hget names name1
"Mike"
127.0.0.1:6379> hget names name2
"Sarah"
127.0.0.1:6379> hget names name3
"John"

5.3 List(列表)

redis的List是简单的字符串列表,按照插入顺序排序。

下面设置key为colors,value为["black", "white", "blue"],value是一个List结构的数据。

127.0.0.1:6379> lpush colors black white
(integer) 2
127.0.0.1:6379> lpush colors blue
(integer) 3
127.0.0.1:6379> lrange colors 0 10
1) "blue"
2) "white"
3) "black"

(命令 lrange xxxx  m  n ,查找下标是m到n的元素。)

5.4 Set(集合)

redis的Set是string类型的无序集合,不允许有重复的元素

下面设置key为types,value为["int", "short", "byte"],value是Set结构的数据。

127.0.0.1:6379> sadd types int short 
(integer) 2
127.0.0.1:6379> sadd types byte
(integer) 1
127.0.0.1:6379> smembers types
1) "byte"
2) "short"
3) "int"

5.5 zset(有序集合)

zset和set一样也是string类型元素的集合,不允许有重复的元素。不同的是每个元素都会关联一个double类型的分数(score)。集合中的元素通过分数进行从小到大的排序。

127.0.0.1:6379> zadd scores 80 lan 90 Mike
(integer) 2
127.0.0.1:6379> zadd scores 100 wang
(integer) 1
127.0.0.1:6379> zrangebyscore scores 0 10
(empty list or set)
127.0.0.1:6379> zrangebyscore scores 0 1000
1) "lan"
2) "Mike"
3) "wang"

(命令 zrangebyscore  xxxx  m  n ,查找分数在m到n范围内的元素。)

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值