Redis
走路的猫头鹰
疯狂学习中
展开
-
Redis相关: key操作常用命令
命令:keys [匹配符]示例: keys * 查看当前所在库的所有key值。返回: 所有key值序列。命令:exists key[某个key值]示例: exists k1 查看当前库是否存在名为k1的key值。返回: 1表示存在,0表示不存在。命令:move key[某个key值] DB[目标数据库]示例: move k1 2 将key为k1的数据移动到2号库中...原创 2018-07-08 15:55:05 · 118 阅读 · 0 评论 -
Redis之Java连接Jedis
Jedis jedis = new Jedis([服务地址],[监听端口]);通过jedis对象可以操作redis,api与直接在redis命令行中操作类似。JedisPool类似Jdbc,频繁的创建连接、销毁连接会消耗大量的计算机资源。所以成熟的数据库连接jar中都会带有数据库池。在Jedis提供的jar包中可以得出,Jedis也支持数据库池。redis.clients.je...原创 2018-07-11 16:48:02 · 183 阅读 · 0 评论 -
Redis主从复制[下篇]
命令:SALVEOF NO ONE 从原来的主从关系中脱离,将当前从库变成主库。该命令在主库挂掉时可以将指定某个从库改为主库,只影响本从库的主从关系,而不影响其他从库的主从关系。当主库重新在线时,使用过该命令的从库也不会恢复原来的主从关系。在现在的工作环境中,手动设置主从关系不现实。此时就用到了redis的哨兵模式(sentinel)新建一个sentinel.conf配置文件,文件内容...原创 2018-07-11 12:52:29 · 145 阅读 · 0 评论 -
Redis主从复制[上篇]
主要命令:SLAVEOF设置当前登录的redis库为从库。 - 格式: SLAVEOF [服务器地址] 端口号 - 示例: SLAVEOF 127.0.0.1 6379 设置当前登录的redis为从库,跟随127.0.0.1服务器端口6379开启的redis[127.0.0.1服务器上6379开启的为主库]。INFO REPLICATION 查看当前redis库的主从关...原创 2018-07-11 11:14:56 · 112 阅读 · 0 评论 -
Redis之消息订阅与接收(Redis作为消息中间件)[了解: 一般用的是ActiveMQ等其他的JMS架构]
命令: SUBSCRIBE 订阅消息。 - 格式: SUBSCRIBE [订阅频道1] [订阅频道2] .... 多个订阅频道以空格隔开 - 示例: SUBSCRIBE c1 c2 订阅了频道c1和频道c2。消息订阅命令是阻塞的,一但命令执行成功就会等待订阅的消息发布,此时如果想结束订阅可以按快捷键: ctrl + C,结束命令[不过这个命令是直接退出redis命令]命...原创 2018-07-11 09:33:34 · 2806 阅读 · 0 评论 -
Redis中事务
可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞(中途数据变更等突发情况)。个人理解: redis中事务类似一个队列,且redis是部分支持事务(也就是没有像关系型数据库那样强制要求原子性[即不保证原子性])。redis事务作用:一个队列中,一次性、顺序性、排他性的执行一系列命令。重点:没有隔离级别的概念:队列...原创 2018-07-10 17:34:38 · 238 阅读 · 0 评论 -
Redis之AOF(Append Only File)
以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。———引用自尚硅谷相关文件AOF和RDB两种持久化策略可以同时使用,Redis会先选用AOF策略,也就是启用AOF后会先加载AOF文件进行数据加...原创 2018-07-10 15:24:00 · 377 阅读 · 0 评论 -
Redis之RDB(Redis DataBase)
简介: 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。原理: Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能如果需要进行大规模数据的恢复,且对于数据恢复的完...原创 2018-07-10 11:32:27 · 234 阅读 · 0 评论 -
Redis设置密码[了解]
命令: config set requirepass [密码]示例: config set requirepass 123456 设置密码为123456当设置好密码后,redis会立即生效,此时需要通过如下命令进行密码验证: auth [设置的密码]通过auth命令进行密码验证。...原创 2018-07-09 22:49:19 · 131 阅读 · 0 评论 -
Redis五大数据类型之ZSet(Scores Set)类型-常用命令
命令: zadd 格式: zadd [key值] scores[key] value示例: zadd people 10 v1 20 v2 30 v3 40 v4 50 v5 60 v6 70 v7 创建一个zset名为people,它的key:10值为v1,key:20值为v2…以此类推注意: scores[key]值必须为数字,这样zset才可以排序进行比较。命令: zrang...原创 2018-07-09 15:38:35 · 8523 阅读 · 0 评论 -
Redis五大数据类型之Hash类型-常用命令
命令: hset 格式: hset [key值] key value示例: hset people id 11 name xiling 创建一个hash名为people,它的id值为11,name值为xiling[测试跟hmset貌似没啥区别…]注意: 如果设置的hash存在,则覆盖旧值,如果不存在则创建并保存。命令: hget 格式: hget [key值] key示例: ...原创 2018-07-09 14:43:24 · 1219 阅读 · 0 评论 -
Redis五大数据类型之Set类型-常用命令
命令: sadd 格式: sadd [key值] v1 v2 v3...示例: sadd set01 v1 v2 v3 创建一个set01,值为一个set集合,值为:”v1 v2 v3”注意: 如果key存在,且也是一个set集合,那么新设置的集合中相同的数据不会被添加,不同数据会追加到key的新值中。如果指定的key存在,但是值非set集合,则会报错。命令: smembers ...原创 2018-07-09 13:29:09 · 2203 阅读 · 0 评论 -
Redis五大数据类型之List类型-常用命令
命令: lpush 格式: lpush [key值] value1 value2 vlaue3...示例: lpush list01 1 2 3 4 5 6 7 添加key为list01的值为list类型: 1 2 3 4 5 6 7注意: redis的list类型为栈结构,lpush意思为左侧开始进栈,那么最后进栈则会在栈顶。命令: rpush 格式: rpush ...原创 2018-07-09 11:55:37 · 266 阅读 · 0 评论 -
Redis五大数据类型之String类型-常用命令
命令: incr 格式: incr [key值]示例: incr k1 自增长1注意: 要想自增长对应的key必须存在且value是数字才可以,例如”1”等。如果value是”v1”、”v2”…这类带有除数字以外的其他字符则会报错。命令: decr 格式: decr [key值]示例: decr k1 自减少1注意: 要想自减少对应的key必须存在且value是...原创 2018-07-09 10:40:26 · 151 阅读 · 0 评论 -
Redis安装及基本使用[Linux版本]
安装Redis首先从redis官网或github上下载redis的安装压缩包。目前最新版:redis-4.0.10复制安装包至Linux系统中。解压缩redis压缩包:tar -zxvf redis-4.0.10.tar.gz解压完毕后,进入解压出来的文件夹,通过命令:make 安装redis。此处有坑:使用make需要linux系统上装有gcc[一个C编译工具] 如...原创 2018-07-07 12:00:14 · 188 阅读 · 0 评论