Redis默认有16个库,0-15。配置在redis.conf文件中:databases=16
redis启动和停止命令
redis server启动命令(进入到redis目录下)
redis-serve ./conf/6379.conf
redis client启动命令(进入到redis目录下)
redis-cli -p 6379
redis停止命令(进入到redis目录下)
redis-cli -p 6379 shutdown
通用命令
1、切换库:select 数字
2、判断key是否存在:exists key
3、查看库中是否有key:dbsize
4、判断一个key是什么类型:type size
5、删除当前库所有数据:flushdb
6、删除所有库的数据:flushall
7、删除一个key:del key
8、获取所有的可以:keys *
9、复制一个key到另外一个库:move key 库
String操作
1、set(key, value):给数据库中名称为key的string赋予值value
2、get(key):返回数据库中名称为key的string的value
3、mset(key N, value N):批量设置多个string的值
4、mget(key1, key2,…, key N):返回库中多个string的value
5、append(key, value):名称为key的string的值附加value
list操作
1、rpush(key, value):在名称为key的list尾添加一个值为value的元素
2、lpush(key, value):在名称为key的list头添加一个值为value的 元素
3、llen(key):返回名称为key的list的长
4、lrange(key, start, end):返回名称为key的list中start至end之间的元素 end=-1 表示整个list的长度
5、lindex(key, index):返回名称为key的list中index位置的元素
set操作
set主要是做集合的运算,常用的命令,且存储的都是没有重复的元素
1、sadd(key, member):向名称为key的set中添加元素member
2、srem(key, member) :删除名称为key的set中的元素member
3、smembers(key) :返回名称为key的set的所有元素
4、sinter(key1, key2,…key N) :求交集
5、sunion(key1, (keys)) :求并集
6、sdiff(key1, (keys)) :求差集
Hash操作
1、hset(key, field, value):向名称为key的hash中添加元素field
2、hget(key, field):返回名称为key的hash中field对应的value
3、hexists(key, field):名称为key的hash中是否存在键为field的域
4、hdel(key, field):删除名称为key的hash中键为field的域
5、hlen(key):返回名称为key的hash中元素个数
6、hkeys(key):返回名称为key的hash中所有键
7、hvals(key):返回名称为key的hash中所有键对应的value
8、hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value
Redis持续化
一种是rdb,一种aof。
1、rdb有点类似于快照的方式,默认的存储方式,默认写入dump.rdb的二进制文件中,可以配置redis在n秒内如果超过m个key被修改过就自动做快照
2、使用aof时候redis会将每一次的函 数都追加到文件中,当redis重启时会重新执行文件中的保存的写命令在内存中。
可想而知:aof文件会非常大,而且存储了一些没有用的命令;rdb模式如果在上一次存储之后到下一次还未存储之前断电,这段时间的数据不会被存储,也有一定风险