Redis的基本使用
# Redis的基本使用
最近春节将至,听后端说他们在准备扩容Redis,恰好项目也做得差不多了,也学学Redis的相关知识吧~
Redis是运行在内存中的,即正常电脑的运行内存,因此Redis的运行速度是非常快的,而也由于这个原因,Redis内存不够用需要扩容是常见的问题。
# 一、安装与运行
1、linux:
redis.sh
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
2
3
4
新建以上文件执行,即可安装redis。
2、windows:
下载地址:https://github.com/MSOpenTech/redis/releases (opens new window)
运行:redis-server redis.windows.conf
控制台脚手架:redis-cli -h 127.0.0.1 -p 6379
(本机不需要加参数)
# 二、redis数据类型
Redis支持五种数据类型:
1、字符串string
redis的最基本元素,在redis中没有数字,只有字符串
2、哈希hash
存储键值对。
3、列表list
列表类似数组
4、集合set
集合不会带有重复的元素
5、有序集合zset(sorted set)。
有序集合是不允许重复的string类型元素的集合。每个元素都会关联一个double类型的分数,通过分数来进行从小到大的排序。
# 三、指令
# help指令
该指令支持tab键补全
1、查看全部的提示:help
2、指定某类的提示:help @
# 查看string类型的操作
help @string
# 查看有序数组类型的操作
help @sorted_set
#查看常用操作
help @generic
# 查看连接相关的操作
help @connection
2
3
4
5
6
7
8
3、指定某个命令的提示:help
# 通用键指令
1、删除:del
2、序列化给定键对应的值:dump
3、检测键是否存在:exsits
4、将给定键添加过期时间(秒):expire
5、指定时间(秒)时键将过期:expireat
6、将给定键添加过期时间(毫秒):pexpire
7、指定时间(毫秒)时键将过期:expireat
8、返回给定模式的key:keys
9、移动当前key到另一个数据库:move
10、移除过期时间设置:persist
11、返回key剩余的过期时间(毫秒):pttl
12、返回key剩余的过期时间(秒)ttl
13、随机返回 一个key:randomkey
14、修改key名:rename
15、当新的键名不存在时才修改key名:renamenx
16、返回key的类型:type
# string类指令
1、获取:get
2、获取子字符串:getrange
getrange str 2 5
3、获取多个: mget
mget str1 str2 str3
4、设置(存在会覆盖):set
set str "this is a string"
5、设置多个: mset
mset str1 "string1" str2 "string2" str3 "string3"
6、设置(存在时不会覆盖):setnx
set str "this is a string"
setnx str "string"
2
7、设置多个(存在时不会覆盖):msetnx
8、设置值并带过期时间(秒):setex
setex str 3 "this is a string"
9、设置值并带过期时间(毫秒):psetex
psetex str 3000 "this is a string"
10、获取旧值并设置新值: getset
11、追加值到已存在键的末尾:append
12、获取指定偏移量上的位: getbit
getbit str 3000
13、设置指定偏移量上的位: setbit
14、返回字符串长度: strlen
15、存储的数字值增/减1: incr/decr
16、存储的数字值增/减指定量: incrby/decrby
17、存储的数字值增指定浮点量: incrbyfloat
# hash
1、获取:hget
2、获取全部: hgetall
3、获取多个字段:hmget
4、设置(已存在会覆盖):hset
5、设置(已存在不会覆盖):hsetnx
6、设置多个:hmset
7、删除:hdel
8、判断哈希是否存在:hexsits
9、指定哈希增指定量:hincrby
10、指定哈希增指定浮点量:hincrbyfloat
11、获取哈希表的所有key:hkeys
12、获取哈希表的所有value:hvals
13、获取哈希表的长度:hlen
# 数组
1、查看指定序号元素: lindex
2、查看数组长度: llen
3、左/右添加元素(头/尾部):lpush/rpush
4、左/右移除元素(头/尾部):lpop/rpop
5、表存在的情况下,左/右添加一个元素(头/尾部):lpushx/rpushx
6、左/右移除并弹出元素(头/尾部),无元素会阻塞直到超时或执行:lpushx/rpushx
7、移除指定方向的指定匹配元素指定个数: lrem
lrem list -2 hello
8、设置指定序号元素的值:lset
9、移除最后一个元素并添加到另一个数组:rpoplpush