redis
Posted kanglun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis相关的知识,希望对你有一定的参考价值。
1 redis 基本操作 2 3 4 5 进入redis 6 7 redis-cli 8 9 #不能进入,就安装: 10 sudo apt-get update 11 sudo apt-get install redis-server 12 13 exit #退出 14 15 Select 命令用于切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。 16 #默认使用 0 号数据库 默认开16个库 17 SELECT 1 # 使用 1 号数据库,Redis 现在的命令提示符多了个 [1] 18 19 20 21 22 23 redis五种数据类型、及操作 24 25 - string 字符串 26 - list 列表 27 - hash 哈希 28 - set 集合 29 - sorted sets 有序集合 30 31 string 32 33 string 类型是 redis 最基本的类型, string 类型,一个 key 对应一个 value,一个 value 最大能存储512MB的数据。 34 35 - set key value 36 - 设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。 37 - set name ‘juhao‘ 38 39 - get key 40 - 返回key的值,若key不存在则返回nil 41 42 mset key value [key value..] 43 - 为多组key设置值,该操作为原子操作,要么一组都设置成功,要么一组都设置失败; 44 - mset username ‘root‘ password ‘123‘ name ‘juhao‘ 45 46 - mget key [key...] 47 - 返回一个或多个key的值,若key不存在返回nil,若key存在但不是字符串返回nil 48 - mget username, password, name #有,号会被认为是key的一部分 49 mget username password name 50 51 - append key value 52 - 将指定的值追加到key末尾,若key不存在,则创建并赋值,返回追加后的字符串长度 53 - append name love 54 55 56 57 - ttl key 58 - 返回key的剩余生存时间, -1 表示永久存在, -2表示不存在 59 60 - set key value ex seconds 61 - 设置 key的同时,设置过期时间(单位:秒) key 过期后将不再可用,会被系统自动删除。 62 - set age 18 ex 20 63 或 setex key seconds value 例: ( setex sex 20 ‘男‘ ) 64 65 66 67 - persist key 68 - 移除指定key的生存时间,成功返回1,若key不存在或不存在生存时间时返回0; 69 70 71 72 全局key操作 73 74 - rename key newkey 改名 75 - 当key和newkey相同或者key不存在时返回一个错误,当newkey已存在时则会覆盖; 76 - keys * # 查看所有的key 77 78 del key # 删除 返回成功的个数 79 80 exists key # 查看key是否存在 返回存在个个数 81 82 type key # 查看key类型 83 84 expire key seconds #设置过期时间 85 86 persist key #移除过期时间 87 88 flushdb #删除当前数据库中的所有key 89 90 flushall #删所有 91 92 93 94 95 list 96 97 列表的元素类型为string, 98 按照插入顺序排序 99 在列表的头部或者尾部添加元素 100 101 102 103 - lpush key value[value...] 104 - 在头部插入数据 105 - lpush key value #例 lpush my_list a b c d 106 - 在尾部添加数据 107 - rpush key value #例 rpush my_rlist a b c d 108 109 110 111 - lindex key index 112 - 返回列表中元素的值。index从0开始,当index超出索引时返回null 113 - lindex my_list 3 #查看第个 114 115 - lrange key start stop 116 - 查看索引范围内元素的值 117 - lrange my_list 0 -1 #查看所有值 118 119 - llen key 120 - 返回列表的长度 121 122 123 - lset key index newvalue 124 - 指定索引号进行修改 125 - lset my_list 0 ‘hello‘ 126 127 128 129 - 删除 130 - lpop key 删除左边第一个 131 - rpop my_list 132 - rpop key 删除右边第一个 133 - rpop my_list 134 135 - lrem key count value 136 - 删除指定数量的value值 137 - rpush test_list c a a b b c d e a d f m c 138 139 #count > 0 从左往右 删除数量为count的value 140 例 : lrem test_list 2 a 141 lrange test_list 0 -1 142 143 #count = 0 删除所有的 value 144 例 : lrem test_list 0 d, 145 146 #count < 0 从右往左 删除数量为count的value 147 例 : lrem test_list -2 c 148 149 150 hash 151 152 是一个键值(key=>value)对集合。是string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象 153 field 域 154 value 值 155 156 设置/修改 157 158 - hset key field value 159 - 将field-value设置到hash表中,若key不存在会新建hash表再赋值,已存在则会覆盖; 160 - hset user name juhao #user { name:juhao} 161 - hmset key field1 value1[field value...] 162 - 同时设置多个 163 - # user {name:juhao , age:18} 164 hmset user name juhao age 18 165 166 167 168 查看 169 170 - hget key field 171 - 获取value 172 - hget user name 173 - hmget key field[field...] 174 - 获取多个value 175 - hmget user name age 176 - hvals key 177 - 获取全部value 178 - hkeys key 179 - 获取所有的field 180 181 - hgetall key 182 - 获取全部field 和 value 183 - hlen key 184 - 查看有几个键值对 185 186 - hexists key field 187 - 判断hash表中指定域是否存在,返回1,若key或field不存在则返回0; 188 189 删除 190 191 - hdel key field 192 - hdel user name 193 194 195 196 197 198 199 set 200 201 元素为string类型 202 无序集合 203 元素具有唯一性,不重复 204 205 206 207 208 - sadd key member [member...] 增加元素 209 - 将一个或多个member元素加入到集合key中,若member已存在那么会忽略此元素, 210 - sadd my_set m n b v c x z b 211 - scard key 212 - 返回集合key中元素的个数; 213 - smembers key 214 - 获取集合中所有元素 215 216 217 218 - sismember key member 判断集合存在某个值 219 - 判断member在key中是否已存在, 返回0或1 220 - sismember my_set b 221 222 223 224 - 删除 225 - srem key member [member...] 226 - 移除一个或多个元素,不存在的member会被忽略,返回被移除元素个数 227 - srem my_set a b n 228 - spop key 随机删除 229 - 移除并返回集合中的一个随机元素,当key不存在时返回NULL 230 231 232 233 - 交集 234 # sinter key1 key2 .. 235 例 236 sinter my_set my_set2 237 把 key1 key2的交集合并到newkey 238 # sinterstore newkey key1 key2 239 例 240 sinterstore new_set my_set my_set2 241 - 并集 242 # sunion key1 key2 ... 243 例 244 sunion my_set my_set2 245 246 把 key1 key2的并集合并到newkey 247 # sunionstore newkey key1 key2 248 例 249 sunionstore new_set2 my_set my_set2 250 - 差集 251 # sdiff key1 key2 252 sdiff my_set my_set2 253 把 key1 key2的差集合并到newkey 254 # sdiffstore newkey key1 key2 255 例 256 sdiffstore new_set3 my_set my_set2 257 258 259 260 261 262 zset 263 264 类似于Set,不同的是Sorted中的每个成员都分配了一个分数(Score)用于对其中的成员进行排序(升序)。 265 zset的成员是唯一的,但分数(score)却可以重复。 266 267 添加/修改 268 269 - zadd key score member[ [score member] ..] 270 - 设置, 存在就更新 271 - zadd my_zset 1 ‘one‘ 272 zadd my_zset 2 ‘tow‘ 273 274 zadd my_zset 10 one 20 two 30 three 40 four 50 ‘five‘ 275 276 查看 277 278 - zscore key member 279 - 查看score值 280 zscore my_zset two 281 282 - zrange key start stop[withscores] 283 - 按索引返回key的成员, withscores表示显示score 284 - zrange my_zset 0 -1 #显示全部 285 286 - zrangebyscore key min max 287 - 返回集合中 score 在给定区间的元素 288 - zrangebyscore zset 10 30 289 290 291 292 293 删除 294 295 - zrem key member [member...] 296 - 移除有序集合中的一个或多个元素,若member不存在则忽略; 297 - zrem my_zset two 298 299 300 - zremrangebyrank min max : 301 - 删除集合中索引在给定区间的元素 302 zremrangebyrank my_zset 1 3 303 - zremrangebyscore min max : 304 - 删除集合中 score 在给定区间的元素 305 zremrangebyscore my_zset 10 30 306 307 308 309 310 311 312 313 314 315 redis配置 316 317 vim /etc/redis/redis.conf #配置文件地址 318 319 port 6379 # 默认端口 320 logfile /var/log/redis.log # 日志文件位置 321 dbfilename dump.rdb # RDB持久化数据文件名 , 322 dir /var/lib/redis #指定本地数据库存放目录 323 bind 0.0.0.0 # 指定IP进行监听 324 325 requirepass yourpassword #密码 326 327 save 900 1 #这三个是持久化,注释掉就关掉持久化 328 save 300 10 329 save 60 10000 330 331 启动/停止/重启命令 332 333 /etc/init.d/redis-server stop 334 /etc/init.d/redis-server start 335 /etc/init.d/redis-server restart 336 337 338 339 340 设置密码 341 342 config get requirepass //获取当前密码 343 #默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 redis 服务 344 345 进入配置文件 346 vim /etc/redis/redis.conf 347 找到requirepass 设置密码 348 vim 查找 /requirepass 按n查找下一个 349 requirepass yourpassword //此处注意,行前不能有空格 350 重启redis 351 redis-cli shutdown 352 353 进入在添加 auth 123456 354 登陆的时候加上密码 redis-cli -a 123456 355
以上是关于redis的主要内容,如果未能解决你的问题,请参考以下文章