redis常用命令大全

  1 1.基于内存的key-value数据库
  2 2.基于c语言编写的,可以支持多种语言的api //set每秒11万次,取get 81000次
  3 3.支持数据持久化
  4 4.value可以是string,hash, list, set, sorted set
  5 
  6 使用场景
  7 1. 去最新n个数据的操作
  8 2. 排行榜,取top n个数据 //最佳人气前10条
  9 3. 精确的设置过期时间
 10 4. 计数器
 11 5. 实时系统, 反垃圾系统
 12 6. pub, sub发布订阅构建实时消息系统
 13 7. 构建消息队列
 14 8. 缓存
 15 
 16 cmd访问redis
 17 redis-cli.exe -h 127.0.0.1 -p 6379
 18 
 19 
 20 key
 21     keys * 获取所有的key
 22     select 0 选择第一个库
 23     move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动
 24     flush db      清除指定库
 25     randomkey     随机key
 26     type key      类型
 27     
 28     set key1 value1 设置key
 29     get key1    获取key
 30     mset key1 value1 key2 value2 key3 value3
 31     mget key1 key2 key3
 32     del key1   删除key
 33     exists key      判断是否存在key
 34     expire key 10   10过期
 35     pexpire key 1000 毫秒
 36     persist key     删除过期时间
 37 
 38 string
 39     set name cxx
 40     get name
 41     getrange name 0 -1        字符串分段
 42     getset name new_cxx       设置值,返回旧值
 43     mset key1 key2            批量设置
 44     mget key1 key2            批量获取
 45     setnx key value           不存在就插入(not exists 46     setex key time value      过期时间(expire)
 47     setrange key index value  从index开始替换value
 48     incr age        递增
 49     incrby age 10   递增
 50     decr age        递减
 51     decrby age 10   递减
 52     incrbyfloat     增减浮点数
 53     append          追加
 54     strlen          长度
 55     getbit/setbit/bitcount/bitop    位操作
 56     
 57 hash
 58     hset myhash name cxx
 59     hget myhash name
 60     hmset myhash name cxx age 25 note "i am notes"
 61     hmget myhash name age note   
 62     hgetall myhash               获取所有的
 63     hexists myhash name          是否存在
 64     hsetnx myhash score 100      设置不存在的
 65     hincrby myhash id 1          递增
 66     hdel myhash name             删除
 67     hkeys myhash                 只取key
 68     hvals myhash                 只取value
 69     hlen myhash                  长度
 70 
 71 list
 72     lpush mylist a b c  左插入
 73     rpush mylist x y z  右插入
 74     lrange mylist 0 -1  数据集合
 75     lpop mylist  弹出元素
 76     rpop mylist  弹出元素
 77     llen mylist  长度
 78     lrem mylist count value  删除
 79     lindex mylist 2          指定索引的值
 80     lset mylist 2 n          索引设值
 81     ltrim mylist 0 4         删除key
 82     linsert mylist before a  插入
 83     linsert mylist after a   插入
 84     rpoplpush list list2     转移列表的数据
 85     
 86 set
 87     sadd myset redis 
 88     smembers myset       数据集合
 89     srem myset set1         删除
 90     sismember myset set1 判断元素是否在集合中
 91     scard key_name       个数
 92     sdiff | sinter | sunion 操作:集合间运算:差集 | 交集 | 并集
 93     srandmember          随机获取集合中的元素
 94     spop                 从集合中弹出一个元素
 95     
 96 zset
 97     zadd zset 1 one
 98     zadd zset 2 two
 99     zadd zset 3 three
100     zincrby zset 1 one              增长分数
101     zscore zset two                 获取分数
102     zrange zset 0 -1 withscores     范围值
103     zrangebyscore zset 10 25 withscores 指定范围的值
104     zrangebyscore zset 10 25 withscores limit 1 2 分页
105     Zrevrangebyscore zset 10 25 withscores  指定范围的值
106     zcard zset  元素数量
107     Zcount zset 获得指定分数范围内的元素个数
108     Zrem zset one two        删除一个或多个元素
109     Zremrangebyrank zset 0 1  按照排名范围删除元素
110     Zremrangebyscore zset 0 1 按照分数范围删除元素
111     Zrank zset 0 -1    分数最小的元素排名为0
112     Zrevrank zset 0 -1  分数最大的元素排名为0
113     Zinterstore
114     zunionstore rank:last_week 7 rank:20150323 rank:20150324 rank:20150325  weights 1 1 1 1 1 1 1
115     
116     
117 排序:
118     sort mylist  排序
119     sort mylist alpha desc limit 0 2 字母排序
120     sort list by it:* desc           by命令
121     sort list by it:* desc get it:*  get参数
122     sort list by it:* desc get it:* store sorc:result  sort命令之store参数:表示把sort查询的结果集保存起来
123 
124 订阅与发布:
125     订阅频道:subscribe chat1
126     发布消息:publish chat1 "hell0 ni hao"
127     查看频道:pubsub channels
128     查看某个频道的订阅者数量: pubsub numsub chat1
129     退订指定频道: unsubscrible chat1   , punsubscribe java.*
130     订阅一组频道: psubscribe java.*
131     
132 redis事物:
133      隔离性,原子性, 
134      步骤:  开始事务,执行命令,提交事务
135              multi  //开启事务
136              sadd myset a b c
137              sadd myset e f g
138              lpush mylist aa bb cc
139              lpush mylist dd ff gg
140 
141 服务器管理
142     dump.rdb
143     appendonly.aof
144     //BgRewriteAof 异步执行一个aop(appendOnly file)文件重写
145     会创建当前一个AOF文件体积的优化版本
146     
147     //BgSave 后台异步保存数据到磁盘,会在当前目录下创建文件dump.rdb
148     //save同步保存数据到磁盘,会阻塞主进程,别的客户端无法连接
149     
150     //client kill 关闭客户端连接
151     //client list 列出所有的客户端
152     
153     //给客户端设置一个名称
154       client setname myclient1
155       client getname
156       
157      config get port
158      //configRewrite 对redis的配置文件进行改写
159 
160 
161 rdb 
162 save 900 1
163 save 300 10
164 save 60 10000
165 
166 aop备份处理
167 appendonly yes    开启持久化
168 appendfsync everysec  每秒备份一次
169 
170 命令:
171 bgsave异步保存数据到磁盘(快照保存)
172 lastsave返回上次成功保存到磁盘的unix的时间戳
173 shutdown同步保存到服务器并关闭redis服务器
174 bgrewriteaof文件压缩处理(命令)

 转载:https://www.cnblogs.com/cxxjohnson/p/9072383.html

   https://www.jianshu.com/p/9cecff6042de