【笔记】Redis 安装以及基础使用
-
Redis 是一个开源的基于内存的存储软件,实际应用中大家常用来做内存缓存
-
Redis 安装流程
- Linux 和 Mac用户,可以在官网上 redis.io 或 github.com 直接下载源码,类编译安装。而 Windows 用户,可以选择从github.com/microsoftarchive 直接下载Redis 的安装包来安装
-
启动配置
-
在启动 redis-server 的时候,可以命令后面加配置文件的路径,来设置 redis 服务,如:
-
./redis-server ~Download/redis/src/6381.conf
-
常见的 redis 配置有:
- port: redis 服务端口号
- requirepass:授权密码。设置这个配置是,客户端在服务器取得连接后,需要执行 auth 命令
- timeout:当客户端闲置多长时间后关闭连接
- maxmemory:指定 Redis 最大内存闲置,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理后,任然到达最大内存设置,将无法再进行写入操作,但任然进行读取操作
- maxmemory-policy:清理内存策略。把Redis 当做一个缓存来用,可以考虑使用一次啊设置 maxmemory-poliy allkey-lru、maxmemory-policy有以下几个选项:
- allkey-lru:
- 无视 key 是否过期,当内存不够时,删除最近最少使用的key
- volatile-lru:
- 当内存不够用时,从设置了过期时间 key 中,删除最少使用的 key
- volatile-tti;
- 当内存不够用时,删除从设置最近将要过期的 key
- allkey-lru:
-
示例:
-
port 6379 requirpass 123123 maxmemeory 300 maxmemory-poliy allkey-lru
-
-
-
-
基础使用
-
常用 Redis 数据类型有:
- 字符串(strings)
- 散列(hashes)
- 列表(lists)
- 集合(sets)
- 有序集合(sorted sets)
-
先看字符串(strings) 的使用
-
基础 set & get
- set testkey1 value1 # 设置 testkey1
- get testkey1 # 获取testkey1 的值
- set testkey2 value2
- get testkey2
- value2
- 获取多个key中的内容
- mget testkey1 testkey2
- value1
- value2
- mget testkey1 testkey2
- set testkey1 value1 # 设置 testkey1
-
字符串类型中的 value,不仅仅用来存储字符串,还可以存储数字类型的数据
- set intkey1 5 # 设置一个整型数据
- incr intkey1 # intkey1中value值加 1
- set intkey1 5 # 设置一个整型数据
-
散列(hashes)
- 相对字符串类型,散列类型的数据相当于是二级的 map
- 比如设置一个 hash 如下:
- hset hashkey1 index1 hvalue1 #设置hashkey1[index1] = value1
- hget hashkey1 index1 #获取 hashkey1[index1]的值
- hashvalue
- hset hashkey1 index1 hvalue1 #设置hashkey1[index1] = value1
- 散列中也可以存储数字类型的数据,不过对数字类型操作命令不如字符串类型丰富
- hset hashkey1 index1 5 # 设置一个数字类型的值
- hinrcby hashkey1 intdex1 2 # 给这个值加 2
- hincrby hashkey1 intdex1 -3 # 给这个值键3
-
列表(lists)
-
Redis 中的列表常被用作队列,比如要做一个先进先出的队列,就可以用 Redis 实现
-
lpush listkey1 12 # 从list 做端压入一个数据,此时队列为[12]
-
lpush listkey1 5 # 从list 左端压入一个数据,此时队列为[5, 12]
-
lpush listkey1 strvalue1 # 从list 左端压入一个数据,此时队列为[“strvalue1”,5, 12]
-
llen listkey1 # 获取队列数据个数
-
rpop listkey1 # 从 list 右端取出一个数据,此时队列为["strvalue1", 5]
-
-
-
-