共计 1765 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。 |
Redis 配置文件:/etc/redis.conf
Redis 主程序:/usr/bin/redis-server
客户端工具:/usr/bin/redis-cli
默认监听端口:6379
数据目录:/var/lib/redis
服务脚本:/usr/lib/systemd/system/redis.service
yum install redis # 基于 CentOS7 的 epel 源
Redis 的客户端命令工具为 redis-cli,默认连接本地的 Redis 服务。
如果需要远程连接则使用 redis-cli -h HOST -p PORT -a PASSWD
[root@cache1 ~]# redis-cli
127.0.0.1:6379> ping # 使用 ping 命令测试与服务的连接性
PONG # 服务端回复 pong 则说明网络连接没有问题
String(字符串)
string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。
string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。
string 类型是 Redis 最基本的数据类型,一个键最大能存储 512MB。
Hash(哈希)
Redis hash 是一个键值 (key=>value) 对集合。
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
List(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
Set(集合)
Redis 的 Set 是 string 类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
zset(sorted set:有序集合)
Redis zset 和 set 一样也是 string 类型元素的集合, 且不允许重复的成员。
不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。
zset 的成员是唯一的, 但分数 (score) 却可以重复。
help @ + 双击 tab # 双击 tab 会出现各种子命令的帮助
help @string # 字符串相关的配置
help @list # 列表相关的配置;列表类似于数组
help @set
help @hash
......
其他几个数据类型比较简单,通过帮助就能获得命令的使用方法。最简单的办法就是百度。由于 List 相关的命令仅仅看帮助的话很难理解一些操作,所以拿出来单独讲讲最常用的几个命令
示例:
127.0.0.1:6379> LPUSH stu aubin # LPUSH,向列表左侧添加元素,列表不存在自动创建
(integer) 1
127.0.0.1:6379> RPUSH stu 22 # RPUSH,向列表右侧添加元素,列表不存在则自动创建
(integer) 2
127.0.0.1:6379> RPUSHX stu nan # RPUSHX,如果列表存在则右侧添加元素
(integer) 3
127.0.0.1:6379> LPUSHX stu linux # LPUSHX,如果列表存在则左侧添加元素
(integer) 4
127.0.0.1:6379> LRANGE stu 0 10 # LRANGE,显示名为 stu 的列表的 0 -10 个值
1) "aubin"
2) "22"
3) "nan"
4) "linux"
LPOP stu # 左弹,删除名为 stu 列表中的第一个元素
RPOP stu # 右弹,删除名为 stu 列表中的最后一个元素
LREM stu 3 aubin # 从头到尾删除 3 个值为 aubin 的元素
LREM stu -3 aubin # 从尾到头删除 3 个值为 aubin 的元素
LREM stu 0 aubin # 删除所有值为 aubin 的元素