Mac安装brew install redis,配置文件/usr/local/etc/redis.conf
文件名 | 说明 |
redis-server | redis服务器 |
redis-cli | redis命令行客户端 |
redis-benchmark | redis性能测试工具 |
redis-check-aof | aof文件修复工具 |
redis-chek-dump | rdb文件检查工具 |
redis-sentinel | Sentinel服务器 |
启动:redis-server 默认端口6379或者redis-server --port 6380指定端口
停止:redis-cli shutdown
protected-mode yes/no
查看某个命令的帮助:
127.0.0.1:6379>help set
查看某个group下的命令:
127.0.0.1:6379>help @string
redis默认有16个库(0-15),默认使用0号库,切换库使用select #(#表示库编号)。redis不支持自定义数据库的名字,每个数据库以编号命名,开发者必须自己记录哪些数据库存储了哪些数据。
常用的数据类型:string、list、hash、set、zset
list:可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素或者获得列表的某一个片段。列表内部使用双向链表实现,所以向列表两端添加元素的时间复杂度是O(1),获取越接近两端的元素速度就越快。这意味着即使是一个有着几千万元素的列表,获取头或尾的10条记录也是极快的。不过使用链表的代价是通过索引访问元素比较慢。
列表类型能非常快速地完成关系数据库难以应付的场景:如社交网站的新鲜事,我们关心的只是最新的内容。列表类型也适合用来记录日志,可以保证加入新日志的速度不会受到已有日志数量的影响。
hash:一个散列类型键可以包含至多2^32-1个字段。散列类型适合存储对象,使用对象类别和id构成键名,使用字段表示对象的属性,而字段值则存储属性值。
set:内部是使用值为空的散列表实现的,所以很多操作的时间复杂度都是O(1)。集合类型存储的元素无序、唯一;列表类型存储的元素有序、不唯一。
1. string:
- set key value
- get key
- incr key
- incrby key increment
- decr key
- decrby key decrement
- incrbyfloat key increment
- append key value
- strlen key
2. list:
- lpush key value [value...]
- rpush key value [value...]
- lpop key
- rpop key
- llen key
- lrange key start stop
- lrem key count value
- lindex key index
- lset key index value
- ltrim key start end
- linsert key before|after pivot value
- rpoplpush source destination
3. hash:
- hset key field value
- hget key field
- hmset key field value [field value...]
- hmget key filed [field...]
- hgetall key
- hexists key filed
- hsetnx key field value
- hincrby key field increment
- hdel key field [field...]
- hkeys key
- hvals key
- hlen key
4. set:
- sadd key member [member...]
- srem key member [member...]
- smembers key
- sismember key member
- sdiff key [key...]
- sinter key [key...]
- sunion key [key...]
- scard key
- spop key
- sdiffstore destination key [key...]
- sinterstore destination key [key...]
- sunionstore destination key [key...]
- srandmember key [count]
5. zset:
- zadd key score member [score member...]
- zscore key member
- zrange key start stop [withscores]