作为一名合格的java程序员,做web开发的,除了java,mysql,免不了用到内存数据库redis。

  身为一名菜鸟,是时候来一波redis从入门到放弃了,哦不,从入门到精通。。

  

一、安装部署redis

  1.从官网下载redis的压缩文件 https://redis.io/

  2.解压安装,简单粗暴直接上命令

    $ tar xzf redis-*.*.*.tar.gz

    $ cd redis-*.*.*

    $ make

    $ cd src

    $ make install PREFIX=/usr/local/redis

  3.很关键的一步,把redis的配置文件移到习惯的目录下

    $ mv redis.conf /usr/local/redis/etc/

  4.启动,并读取指定位置的配置文件

    $ /usr/local/redis/bin/redis-server /user/local/redis/etc/redis.conf

  5.停止

    $ /usr/local/redis/bin/redis-cli shutdown

  6.连接redis

    $ /usr/local/redis/bin/redis-cli

二、列举几个有用的配置项

  1.daemonize: yes|no 启动时是否后台运行

  2.pidfile: **  运行时pid存储位置

  3.port: 6379 端口号

  4.appendonly yes|no 是否采用AOF的持久化方式

     目前Redis持久化的方式有两种: RDB 和 AOF,两者方式各有好坏 有篇博文写的很清楚 http://blog.csdn.net/gzh0222/article/details/8482525

三、save和bgsave,即把内存中的数据保存到磁盘上

  1.redis.conf文件有个默认配置项

    save 900 1

    save 300 10

    save 60 10000

    它的意思就是,在redis运行期间,如果900秒内有一次操作就保存,300秒内有10操作就保存,同理60秒内有10000次操作就保存。

  2.上述操作都是redis自动去做的,当然我们也可以手动的保存数据,也就是save和bgsave

    save是直接在主进程上进行保存,会对请求进行阻塞

    bgsave 字面意思就是backgroundsave ,就是后台保存,主进程fork出一个子进程进行save操作。

四、redis一些简单的基本操作命令(在内存中操作)

  1.set key value 保存一条数据

  2.get key 取出一条数据

  3.exists(key):确认一个key是否存在

Ÿ    4.del(key):删除一个key 
Ÿ    5. type(key):返回值的类型 
Ÿ    6. keys(pattern):返回满足给定pattern的所有key 
Ÿ    7.randomkey:随机返回key空间的一个key

    

  

学习一波redis的更多相关文章

  1. SpringBoot学习笔记:Redis缓存

    SpringBoot学习笔记:Redis缓存 关于Redis Redis是一个使用ANSI C语言编写的免费开源.支持网络.可基于内存亦可以持久化的日志型.键值数据库.其支持多种存储类型,包括Stri ...

  2. 关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁

    首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法.变量. 在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在j ...

  3. 尚硅谷redis学习11-jedis操作redis

    前面学习了redis的知识后,下面学习一下如何在java中通过jedis操作redis. 所需jar包:commons-pool-xxxx.jar,jedis-xxx.jar 下面看一下常用操作: 1 ...

  4. Redis学习十一:Redis的Java客户端Jedis

    一.安装JDK tar -zxvf jdk-7u67-linux-i586.tar.gz vi /etc/profile 重启一次Centos 编码验证 二.安装eclipse 三.Jedis所需要的 ...

  5. Redis学习三:Redis数据类型

    一.Redis的五大数据类型 1.String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安 ...

  6. Redis学习总结(七)--Redis集群之客户端访问

    我们来试试进行数据的存储 127.0.0.1:7000> set name marklogzhu OK 127.0.0.1:7000> get name "marklogzhu& ...

  7. Redis学习总结(三)--Redis持久化

    Redis 是将数据存储在内存中的,如果出现断电或系统故障的时候数据就会存在丢失的现象,Redis通过将数据持久化到硬盘中来避免这个问题的出现,我们今天就来学习下 Redis 持久化. Redis 持 ...

  8. Docker(Linux)学习笔记以及Redis/MariaDB的容器使用后台全自动启动

    1:Docker安装,由于Docker后续pull镜像的服务器默认是在国外的,速度实在是太慢,这里使用阿里云的镜像 阿里云的Docker CE 镜像源站进行安装 docker ===========U ...

  9. Java工程师学习指南第7部分:重新学习MySQL与Redis

    本文整理了微信公众号[Java技术江湖]发表和转载过的Mysql和Redis相关优质文章,想看到更多Java技术文章,就赶紧关注本公众号吧吧. 大白话说说mysql 面试官:给我说说你平时是如何优化M ...

随机推荐

  1. [python]pycharm画图插件matplotlib、numpy、scipy的下载与安装

    最近在用pycharm学习python语言,不得不感叹python语言的强大与人性化! 但对于使用pycharm画图(较复杂的图)就要用到几个插件了,即matplotlib.numpy和scipy!但 ...

  2. C#程序如何把窗体文件从从一个项目中复制到另一个项目

    一个窗体有三个文件,全部拷贝到新的项目中   在新的项目中点击显示所有文件,然后右击导入的文件,点击包括在项目中,会自动修改颜色(此时还没有被识别为窗体)   重启这个项目,三个文件已经被识别出来了 ...

  3. HDU 5855Less Time, More profit

    Less Time, More profit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

  4. 为JMenu中的JPopupMenu定制透明背景

    最近研究了很久这个问题,从LookAndFeel到继承JPopupMenu或者JMenu都搞不定. 其实替换背景的话,只要在JMenuUI中设置Opaque(false) 再将背景设置透明就可以看到P ...

  5. MIPI接口

    接口 分辨率 说明 RGB 800*480以下 大部分AP均支持RGB接口,此类LCD在低端平板广泛使用 LVDS 1024*768及以上 主要通过转换芯片将RGB等专程LVDS来支持:少量AP直接集 ...

  6. Git-flow 一个简单高效的Git工作流

    背景 由于Git的分支比SVN更好管理且更易使用,最近团队从SVN迁移到Git,需要重新规划开发流程,最终确定使用Git-flow工作流,这是目前比较流行的一种分支模型,下面是Git-flow的简易流 ...

  7. JS浮点数精度运算

    一般来讲,我们在项目中必不可少的需要进行各种数值的计算,但是这种计算全部放在服务端会给服务器带来很大的压力,所以势必要客户端来 分担一些计算的压力. 从客户端来说,JavaScript是一门弱类型语言 ...

  8. bzoj 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课【spfa】

    洛谷的数据毒啊 把(i,j,k)作为一个点spfa,表示点(i,j)朝向k方向,然后向四个方向转移即可 #include<iostream> #include<cstdio> ...

  9. golang——log包学习

    log包实现了简单的日志服务. 1.func New(out io.Writer, prefix string, flag int) *Logger New创建一个Logger. 参数out设置日志信 ...

  10. No task executor bean found for async processing: no bean of type TaskExecut

    使用springcloud,添加异步方法后,调用异步成功,但有个 No task executor bean found for async processing: no bean of type T ...