(三)Redis基本操作
1. 字符串(String)
更多练习:https://www.runoob.com/redis/redis-keys.html
更多学习2:http://redisdoc.com/topic/cluster-tutorial.html
# redis-cli -h 192.168.2.131 -p 7000 -c # 启动集群模式连接-c > select 0 转至0号库,默认库是0 (0~15库) 0库一般放测试数据。集群模式只有0号库。 > info memory > set key键 值 # 赋值 > get key键 # 取值 > incr key键 # 递增数字(执行一次自动增长) > set Article:ID:Article.view 字段值 # 文章访问量统计 > get Article:ID:Article.view # 获取 > incrby key键 字段值 # 增加+或-减少指定的整数 > append key键 values # 向尾追加值
2.散列类型hash
> hset [key键名] [field字段名] [values字段值] # 散列 hget [key键] [field字段名] # 获取 hmset [key键] [field字段名] [字段值 values [field values]] hmget [key键] [字段名] > hlen [key键] # 获取字段数量 > hkeys [key键] # 获取键内的所有字段名 > hvals [key键] # 获取键内所有字段的值 > hgetall [key键] # 获取键内所有字段 > hdel [key键] [字段名 字段值] # 删除数据 > hincrby [key键] [字段名 +-值] # +-指定散列中的字段
3.列表List (先赋值的为最旧后赋值的是最新) 查询列变的数据快
> lpush 列表名 值1 值2 值3 # 创建列表1最被2覆盖2被3覆盖,1最旧3最新 > lpop 列表名 # 获取列表内最新值 > roop 列表名 # 获取列表内最旧值 > lrange 列表名 起值 始值 # 获取列表片段起值是从0开始 始值从1开始取到值结束 > linsert 列表名 before|after 列表值 插值 # 往列表值的前后面插值
4.集合(Set)
> sadd 集合名 元素1 元素2 元素n... > smembers 集合名 # 查看集合 > sismember 集合名 元素 # 判断元素是否在集合中 > sadd 集合名1 集合名2 # 求差集:集合1元素减集合2的元素保留集合1的元素 > sinter集合名1 集合名2 # 求交集 > sunion 集合名1 集合名2 # 求并集
5.有序集合(Sorted Set):查询中间的数据很快
> zadd 有序集合名 score分值 名字 # score是一个数值用作名字排名用是从小到到排 > zadd有序集合名score分值 名字 # 修改有序集合名内该“名字”为多少分 > zscore有序集合名 名字 # 查看有序集合内该“名字”的分值 > zrange 有序集合名 起 始 withscores # 查看有序集合元素,0起 0始:是看多少条0开始计算 > zincrby 有序集合名 分值 名字 # 给该名字增+减- > zrank 有序集合名 名字 # 查看有序集合中“名字”的排名
6.时间(Pub/Sub)
> expire key秒 # 设置过期时间,并且让key过期之后被自动删除。
7.事物:MULTI开启事务 → 中间命令 → EXEC执行事务。
8.redis持久化:可以进入文件配置进行修改,或者如下redis内部操作修改
8.1.redis内部RDB配置 # cat /redis/redisconf/redis.conf |grep save 找到redis配置 # redis-cli -p 10000 进入redis > config get save 获取save > config set save "600 1 300 10 60 10000" 修改 > config rewrite 写入 > config get save 再次获取 配置如下 # vim /redis/redisconf/redis.conf # 时间策略 save 900 1 save 300 10 save 60 10000 # 文件名称 dbfilename dump.rdb # 文件保存路径 dir /home/work/app/redis/data/ # 如果持久化出错,主进程是否停止写入 stop-writes-on-bgsave-error yes # 是否压缩 rdbcompression yes # 导入时是否检查 rdbchecksum yes 8.2. AOF持久化配置方式 # redis-cli -p 10000 进入redis > config set appendonly yes 配置 > config get appendonly 获取 > config rewrite 写入 > quit # cat /redis/redisconf/redis.conf | grep appendonly AOF文件配置 # 是否开启 aof appendonly yes # 文件名称 appendfilename "appendonly.aof" # 同步方式 appendfsync everysec # aof重写期间是否同步 no-appendfsync-on-rewrite no # 重写触发配置 auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb # 加载aof时如果有错如何处理 aof-load-truncated yes # 文件重写策略 aof-rewrite-incremental-fsync yes 8.3.AOF定期回收 # redis-cli -h 192.68.2.99 -p 10000 > config get appendfsync > config set appendfsync everysec > config rewrite > config get appendfsync >quit # cat /redis/redisconf/redis.conf | grep appendfsync