版本号管理:
第一个小数点后的数字为偶数是稳定版本, 如 2.4 2.6
为奇数的版本为不稳定版本
安装
$ wget http://download.redis.io/releases/redis-4.0.0.tar.gz
$ tar xzf redis-4.0.0.tar.gz
$ cd redis-4.0.0
$ make
$ src/redis-server
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
redis可执行文件说明
redis-server redis服务器
redis-cli redis命令行客户端
redis-benchmark redis性能测试工具
redis-check-aof aof文件修复工具
redis-check-dump rdb文件检查工具
redis启动服务
src/redis-server --port 6380
默认使用6379,--port参数可以自定义端口
编辑配置文件
vim /etc/redis.conf
bind 0.0.0.0
daemonize yes
Redis支持的键值数据类型:
1.字符串类型
2.散列类型
3.列表类型
4.集合类型
5.有序集合类型
测试客户端与redis是否连接正常,
ping命令 返回pong
多数据库
一个数据库实例中可以创建多个数据库,redis默认支持16个数据库
select 1; 进行切换
获取符合规则的键名
keys pattern
eg; keys * , keys user:*
建议一个键值
set bar 1
判断是否存在
EXISTS key
删除键
del key
获取键值的数据类型
type key
五大数据类型基本操作
字符串类型:
set key value
get key -------------------》当键不存在时返回null
向尾部追加值
set key hello
append key " world!"
获取字符串长度
strlen key
同时获得/设置多个键值
MGET key [key....]
MSET key value [key value...]
位操作
GETBIT key offset
SETBIT key offset value
BITCOUNT key [start] [end]
BITOP operation destkey key [key...] BITOP命令支持的运行操作有AND、OR、XOR和NOT
eg: GETBIT str 2 ,
SETBIT str 1 0
BITCOUNT str
散列类型(hash):
HSET key field value
HGET key field
HMSET key field value [field value...]
HMGET key field [field..]
HGETALL key
判断字段是否存在:
HEXISTS key field
当字段不存在时赋值:
HSETNX key field value
增加数字
HINCRBY key field increment
删除字段
HDEL key field [field....]
只获取字段名
HKEYS key
只获取字段值
HVALS key
列表类型(list):存储一个有序的字符串列表,常用的操作是向两端添加元素,或者获得列表的某一个片段,内部是用双向链表(double linked list)实现,添加元素为:O(1)
向列表两端增加元素
LPUSH key value [value...]
RPUSH key value [value...]
从列表两端弹出元素
LPOP key
RPOP key
获取列表片段
LRANGE key start end
eg: LRANGE list 0 -1 =============> 0:表示左边第一个元素 -1:表示右边第一个元素
删除列表中指定的值
LREM key count value ===========> LREM命令会删除表中前count个值为value的元素,返回实际删除元素的个数,
当count>0时,LREM从列表左边开始删除前count个值为value的元素
当count<0时,LREM从列表右边边开始删除前count个值为value的元素
当count=0时,LREM从列表删除所有值为value的元素
获得/设置指定索引的元素值
LINDEX key index
LSET key index value
只保留列表指定片段
LTRIM key start end
向列表中插入元素
LINSERT key BEFORE|AFTER pivot value
将元素从一个列表转到另一个列表
RPOPLPUSH source destination
集合类型:--==============》集合中的每个元素都不同,且没有序,Set可以存储至多 232-1
增加和删除元素
SADD key member [member...]
SREM key member[member...]
获取所有元素
SMEMBERS key
判断一个元素是否在集合中
SISMEMBER key member
集合间运算
SDIFF key [key...] ===========>差集 A-B
SINTER key [key...] ===========>交际 A^B
SUNION key [key...] ===========>并集 AUB
eg: SINTER seta setb setc
获得集合中元素个数
SCARD key
进行集合运算并将结果储存
SDIFFSTORE destination key [key..]
SINTERSTORE destination key [key..]
SUNIONSTORE destination key [key..]
随机获取集合中的元素
SRANDMEMBER key
SRANDMEMBER key count
从集合中弹出一个元素
SPOP key
有序集合类型 (sorted set):其中的每个元素都关联一个分数,使得我们不仅可以完成插入,删除和判断元素是否存在等集合类型
增加元素
ZADD key source member [source member]
eg: ZADD scoreboard 25 jack
获得元素的分数
ZSCORE key member
eg: ZSCORE scoreboard jack
获得排名在某个范围的元素列表
ZRANGE key start end [WITHSCORES]
获取指定分数范围的元素
ZRANGEBYSCORE key min max
增加某个元素的分数
ZINCRBY key increment member
获得集合中元素的数量
ZCARD key
获取指定分数范围内的元素的个数
ZCOUNT key min max
删除一个或多个元素
ZREM key member [member...]
按照排名范围删除元素
ZREMRANGEBYRANK key min max ==========> min和max表示下表位置
eg: ZREMRANGEBYRANK scoreboard 0 1
按照分数范围删除元素
ZREMRANGEBYSCORE key min max
获得元素的排名
ZRANK key member ===========> 分数从小到大的顺序获得指定的元素的排名,最小的元素为0
eg: ZRANK scoreboard peter
ZREVRANK key member
eg: ZREVRANK scoreboard peter ============>与ZRANK相反,从大到小
递增数字
incr key
增长指定的整数
INCRBY key 5 --------------> key增加5
增加指定浮点数
INCRBYFLOAT key 5.5 ----------------》 key增加5.5
减小指定的整数
DECR key
DECRBY key 5 -------》key减小5