redis的入门


1.redis安装、配置和启动

mac brew 安装

brew install redis

安装目录

/usr/local/Cellar/redis/


服务器端

which redis-server

/usr/local/bin/redis-server
//从/usr/local/Cellar/redis/3.2.8/bin/redis-server外链过来

server配置文件

/usr/local/etc/redis.conf


配置项说明

daemonize yes //前台启动 server 还是后台启动 server,一般选择后台启动
port 7200 //多实例和安全问题,需要对端口号进行修改默认是6379

启动并加载配置

sudo /usr/local/Cellar/redis/3.2.8/bin/redis-server /usr/local/etc/redis.conf 

查询是否启动

ps aux|grep redis-server

客户端

which redis-cli 

/usr/local/bin/redis-cli
从/usr/local/Cellar/redis/3.2.8/bin/redis-cli外链过来

启动客户端

redis-cli --help //根据帮助使用以下命令连接服务器(原端口号已经修改过的)
redis-cli -h 127.0.0.1 -p 7200

查询redis信息和状态

连接成功后使用 info

测试redis server是否启动

➜  bin git:(master) ✗ redis-cli ping                
Could not connect to Redis at 127.0.0.1:6379: Connection refused
➜  bin git:(master) ✗ redis-cli -h 127.0.0.1 -p 7200 ping
PONG

2.Redis数据类型

五种数据类型

String

存储的值

可以是字符串、整数或者浮点。统称为元素

读写能力

对字符串操作对整数类型的加减

set 和 get 操作

127.0.0.1:7200> set string1 muyong
OK
127.0.0.1:7200> get string1
"muyong"

整型的自增操作和减操作

自增命令 incr 根据自己整型自增1

127.0.0.1:7200> set string2 5
OK
127.0.0.1:7200> get string2
"5"
127.0.0.1:7200> incr string2
(integer) 6
127.0.0.1:7200> get string2
"6"

减命令 decrby 参数2代表减2

127.0.0.1:7200> decrby string2 2
(integer) 4
127.0.0.1:7200> get string2
"4"

List

存储的值

一个序列集合且每个节点都包好了一个元素

读写能力

序列两端推入,或弹出元素 修减、查找或移除元素

push 和 pop 操作

list 的存储像队列,头和尾,用左和右来代表 所以就有了

127.0.0.1:7200> lpush list1 11
(integer) 1
127.0.0.1:7200> lpush list1 22
(integer) 2
127.0.0.1:7200> lpush list1 33
(integer) 3

其中 l 代表 left 相对的也有 r

127.0.0.1:7200> rpush list1 11
(integer) 1 

push表示进,那么 pop 代表出,那么就和先进先出,后进先出的原则相匹配了,

127.0.0.1:7200> lpop list1
"33" //左边弹出第一个数据,返回值为33

获取当前列表的长度

127.0.0.1:7200> llen list1
(integer) 2 // 当前 list1长度为2

Set

存储的值

各不相同的元素

读写能力

从集合中插入或者删除元素

sadd 插入和 srem 删除元素

sadd 插入

127.0.0.1:7200> sadd set1 11
(integer) 1 //插入成功返回值
127.0.0.1:7200> sadd set1 22
(integer) 1
127.0.0.1:7200> sadd set1 33
(integer) 1

srem删除

127.0.0.1:7200> srem set1 33
(integer) 1 //删除成功返回值
127.0.0.1:7200> srem set1 33
(integer) 0 //删除失败返回值

scard 判断有多少个元素

127.0.0.1:7200> scard set1
(integer) 2

sismember 判断某个元素是否在set里面

127.0.0.1:7200> sismember set1 33
(integer) 1 //存在的返回值
127.0.0.1:7200> srem set1 33
(integer) 1
127.0.0.1:7200> sismember set1 33
(integer) 0 //不存在的返回值

Hash

存储的值

有 key-value的散列组,其中 key 是字符串,value是元素

读写能力

按照 key进行增加删除

HSET 插入/修改

127.0.0.1:7200> hset hash1 key1 12
(integer) 1
127.0.0.1:7200> hset hash1 key2 12
(integer) 1
127.0.0.1:7200> hset hash1 key3 12
(integer) 1
//修改 hash1中 key1的值
127.0.0.1:7200> hset hash1 key1 13
(integer) 0

HGET获取值

127.0.0.1:7200> hget hash1 key2
"12"
127.0.0.1:7200> hget hash1 key1
"13"

HMGET 获取多个值

127.0.0.1:7200> hmget hash1 key1 key2 key3
1) "13"
2) "12"
3) "12"

HLEN查看HASH长度

127.0.0.1:7200> hlen hash1
(integer) 3

Sort Set

存储的值

带分数的score-value有序集合,其中score为浮点,value为元素

  • 存储和hash一样,都是一个映射。存储的是分数与元素的映射。可以看出是排行榜。

value必须是全局唯一。

读写能力

集合插入,按照分数范围查找

ZADD添加和修改

添加

127.0.0.1:7200> zadd z1 9.5 val1
(integer) 1
127.0.0.1:7200> zadd z1 7.5 val2
(integer) 1
127.0.0.1:7200> zadd z1 13 val3
(integer) 1

修改

127.0.0.1:7200> zadd z1 10 val2
(integer) 0

ZCARD查看元素个数

范围排名

zrange z1 0 2 withscorres // 前三最低开始排序,并带上分数(值)。参数:withscorres.当val2和val3值相等时,那么按字母序排列(val2,val3:val一样,2比3小,所以排前面)
redis 127.0.0.1:7200> zrange z1 0 1
1) "val3"
2) "val1"
redis 127.0.0.1:7200> zrange z1 0 1 withscores
1) "val3"
2) "2.2999999999999998"
3) "val1"
4) "6.0999999999999996"

某个排名

redis 127.0.0.1:7200> zrank z1 val3
(integer) 0

文章作者: 孤雪飘寒
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 孤雪飘寒 !
  目录