redis学习笔记

1下载安装包wget http://download.redis.io/releases/redis-3.0.4.tar.gz把安装包放入opt目录下,linux的软件都安装在opt下/opt目录下,解压命令:tar -zxvf redis-3.0.4.tar.gztar -zxvf redis-3.0.4.tar.gz进入目录:cd redis-3.0.4...
摘要由CSDN通过智能技术生成

linux下安装redis 

 1下载安装包

wget http://download.redis.io/releases/redis-3.0.4.tar.gz

 把安装包放入opt目录下,linux的软件都安装在opt下

/opt目录下,解压命令:tar -zxvf redis-3.0.4.tar.gz 

tar -zxvf redis-3.0.4.tar.gz 

进入目录:cd redis-3.0.4 

[root@localhost redis-3.0.4]# ls -l

总用量 148
-rw-rw-r--.  1 root root 31391 9月   8 2015 00-RELEASENOTES
-rw-rw-r--.  1 root root    53 9月   8 2015 BUGS
-rw-rw-r--.  1 root root  1439 9月   8 2015 CONTRIBUTING
-rw-rw-r--.  1 root root  1487 9月   8 2015 COPYING
drwxrwxr-x.  6 root root  4096 3月  14 18:50 deps
-rw-rw-r--.  1 root root    11 9月   8 2015 INSTALL
-rw-rw-r--.  1 root root   151 9月   8 2015 Makefile
-rw-rw-r--.  1 root root  4223 9月   8 2015 MANIFESTO
-rw-rw-r--.  1 root root  5201 9月   8 2015 README
-rw-rw-r--.  1 root root 41403 9月   8 2015 redis.conf
-rwxrwxr-x.  1 root root   271 9月   8 2015 runtest
-rwxrwxr-x.  1 root root   280 9月   8 2015 runtest-cluster
-rwxrwxr-x.  1 root root   281 9月   8 2015 runtest-sentinel
-rw-rw-r--.  1 root root  7109 9月   8 2015 sentinel.conf
drwxrwxr-x.  2 root root  4096 3月  14 18:51 src
drwxrwxr-x. 10 root root  4096 9月   8 2015 tests
drwxrwxr-x.  5 root root  4096 9月   8 2015 utils

2 在redis-3.0.4目录下执行make命令 

运行make命令时故 意出现的错误解析: 

yum install gcc

 

 
gcc是linux下的一个编译程序,是C程序的编译工具。
GCC(GNU Compiler Collection) 是 GNU(GNU's Not Unix) 计划提供的编译器家族,它能够支持 C, C++, Objective-C, Fortran, Java 和 Ada 等等程序设计语言前端,同时能够运行在 x86, x86-64, IA-64, PowerPC, SPARC 和 Alpha 等等几乎目前所有的硬件平台上。鉴于这些特征,以及 GCC 编译代码的高效性,使得 GCC 成为绝大多数自由软件开发编译的首选工具。虽然对于程序员们来说,编译器只是一个工具,除了开发和维护人员,很少有人关注编译器的发展,但是 GCC 的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。

 二次make 

[root@localhost redis-3.0.4]# make
cd src && make all
make[1]: Entering directory `/opt/redis-3.0.4/src'
    CC adlist.o
在包含自 adlist.c:34 的文件中:
zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录
zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required"
make[1]: *** [adlist.o] 错误 1
make[1]: Leaving directory `/opt/redis-3.0.4/src'
make: *** [all] 错误 2

 运行 make distclean

[root@localhost redis-3.0.4]# make distclean
cd src && make distclean
make[1]: Entering directory `/opt/redis-3.0.4/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-dump redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html
(cd ../deps && make distclean)
make[2]: Entering directory `/opt/redis-3.0.4/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory `/opt/redis-3.0.4/deps'
(rm -f .make-*)
make[1]: Leaving directory `/opt/redis-3.0.4/src'

执行make

3执行完毕之后执行make install

默认安装目录:usr/local/bin

Redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本  服务启动起来后执行
  Redis-check-aof:修复有问题的AOF文件
  Redis-check-dump:修复有问题的dump.rdb文件
  Redis-cli:客户端,操作入口
  Redis-sentinel:redis集群使用
  Redis-server:Redis服务器启动命令

如果没有在默认目录下则重新回到/opt/redis-3.0.4/目录下执行make,make install执行过后会显示安装目录或者使用命令whereis reids

启动
  修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动
  将默认的redis.conf拷贝到自己定义好的一个路径下,比如/myconf
  启动  redis-server /myredis/redis.conf 
  连通测试 ping
  /usr/local/bin目录下运行redis-server,运行拷贝出存放了自定义conf文件目录下的redis.conf文件

有些时候会自动生成环境变量可以直接在任何目录下执行,如果没有生成环境变量则只能在安装目录下使用./redis-server执行,或者自己设置环境变量

vim /etc/profile,在文件的末尾添加

REDIS_HOME=/opt/redis-3.0.4
PATH=/opt/redis-3.0.4/src:$PATH
export REDIS_HOME PATH

设置完环境变量后可以在任何位置执行redis-server

make命令

make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。

make是用来编译的,它从Makefile中读取指令,然后编译。

make all:编译程序、库、文档等(等同于make)

make install:安装已经编译好的程序。复制文件树中到文件到指定的位置

make unistall:卸载已经安装的程序。

make clean:删除由make命令产生的文件

make distclean:删除由./configure产生的文件

make check:测试刚刚编译的软件(某些程序可能不支持)

make installcheck:检查安装的库和程序(某些程序可能不支持)

make dist:重新打包成packname-version.tar.gz

reids启动

为了不在原文件上修改配置建议在根目录下创建一个新的目录myredis

mkdir myredis

然后把配置文件redis.conf复制到myredis目录下

[root@localhost redis-3.0.4]# cp redis.conf /myredis/

查看配置文件

vim redis.conf

把no改为yes 

################################ GENERAL  #####################################

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

Redis daemonize介绍

A、redis.conf配置文件中daemonize守护线程,默认是NO。
B、daemonize是用来指定redis是否要用守护线程的方式启动。


daemonize 设置yes或者no区别

daemonize:yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
daemonize:no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。

usr目录存放应用程序和文件,/usr/bin 普通用户使用的应用程序,/usr/sbin 管理员使用的应用程序,/usr/lib 库文件Glibc(32位),/usr/lib64 库文件Glibc。

[root@localhost bin]# cd /usr/local/bin
[root@localhost bin]# ls -l
总用量 13872
-rwxr-xr-x. 1 root root 4172051 3月  14 18:56 redis-benchmark
-rwxr-xr-x. 1 root root   16459 3月  14 18:56 redis-check-aof
-rwxr-xr-x. 1 root root   37691 3月  14 18:56 redis-check-dump
-rwxr-xr-x. 1 root root 4261277 3月  14 18:56 redis-cli
lrwxrwxrwx. 1 root root      12 3月  14 18:56 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 5702229 3月  14 18:56 redis-server

启动redis服务器(使用备用配置文件)

[root@localhost bin]# redis-server /myredis/redis.conf

 查看进程

[root@localhost bin]# ps -ef | grep redis
root     10618     1  0 21:14 ?        00:00:00 redis-server *:6379             
root     10624  4912  0 21:16 pts/0    00:00:00 grep redis

 启动redis客户端

[root@localhost bin]# redis-cli -p 6379
127.0.0.1:6379> 

 测试是否能连接服务器、

[root@localhost bin]# redis-cli -p 6379
127.0.0.1:6379> ping
PONG 

插入数据

 127.0.0.1:6379> set k1 hello
OK
127.0.0.1:6379> get k1
"hello"

关闭redis客户端

127.0.0.1:6379> exit
[root@localhost bin]# ps -ef | grep redis
root     10654     1  0 21:28 ?        00:00:00 redis-server *:6379             
root     10668  4912  0 21:31 pts/0    00:00:00 grep redis

关闭redis服务器

 127.0.0.1:6379> shutdown
not connected> exit

linux的目录结构及说明

目录

说明

/

处于Linux系统树形结构的顶端,它是Linux文件系统的入口,所有的目录、文件、设备都在/之下

/bin

Bin是Binary的缩写。常用的二进制命令目录。比如ls、cp、mkdir、cut等;和/usr/bin类似,一些用户级gun工具

/boot

存放系统启动相关的文件,例如:kernel.grub(引导装载程序)

/dev

dev是Device的缩写。设备文件目录,比如声卡、磁盘。在Linux中一切都被看做文件,包括终端设备、磁盘等等

设备文件:/dev/sda,/dev/sda1./dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero,/dev/null,/dev/cdrom

/etc

常用系统或二进制安装包配置文件默认路径和服务器启动命令目录

passwd 用户信息文件

shadow 用户密码文件

group 存储用户组信息

fstab 系统开机自动挂载分区列表

hosts 设定用户自己的IP与主机名对应信息

/home

普通用户默认的家目录

/lib

库文件存放目录,函数库目录

/lost+found

只在CentOS6中有

默认为空,被FSCK(file system check用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题, 可利用fsck命令对文件系统进行检查)用来放置零散文件(没有名称的文件)当系统非法关机后,这里就会存放一些文件。

在 centos6 版本下,每个分区的挂载点下会有些目录

/mnt

/media

一般用来临时挂载存储设备的挂载目录,比如cdrom、U盘等目录

/opt

表示的是可选择的意思,有些软件包也会被安装在这里

/proc

操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此,这个目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个文件来获取系统信息。也就是说,这个目录的内存不再硬盘上而是在内存里。

查看CPU信息

cat /proc/cpuinfo

/sys

系统目录,存放硬件信息的相关文件

/run

运行目录,存放的是系统运行时的数据,比如进程的PID文件

/srv

服务目录,存放的是我们本地服务的相关文件

/sbin

大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的。

/tmp

用于存放临时文件,又是用户运行程序的时候会产生一些临时文件。/tmp就是用来存放临时文件的。/var/tmp目录和该目录的作用是类似的,不能存放重要数据,它的权限比较特殊。

[xf@xuexi ~]$ ls -ld /tmp

drwxrwxrwt. 27 root root 4096 12月 23 19:18 /tmp

t粘滞位(sticky bit)目录的sticky位表示这个目录里的文件只能被owner和root删除

/var

系统运行和软件运行时产生的日志信息,该目录的内容是经常变动的,存放的是一些变化的文件。比如 /var/log目录用来存放系统日志,还有/var/mail、/var/spool/cron

/usr

存放应用程序和文件

/usr/bin 普通用户使用的应用程序

/usr/sbin 管理员使用的应用程序

/usr/lib 库文件Glibc(32位)

/usr/lib64 库文件Glibc

/lib

/lib64

都在/usr/目录下

这个目录里存放着系统最基本的动态链接共享库,白喊许多倍/bin和/sbin中的程序使用的库文件,目录/usr/lib中含有更多用于用户程序的库文件。作用类似于windows里的dll文件,几乎所有的应用程序都需要用到这些共享库

注:lib***.a是静态库

Lib***.so是动态库

静态库在编译时被加载到二进制文件中

动态库在运行时加载到进程的内存空间中

简单的说:这些库视为了让你的程序能过正常编译运行的

redis基础知识 

redis默认有16个数据库

# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1

#可以设置多个redis数据库,下标从0开始使用select 下标 来选择一个数据库
databases 16

更换第五个库

127.0.0.1:6379> select 6
OK
127.0.0.1:6379[6]> 

 查看库中有多少key

127.0.0.1:6379> DBSIZE
(i
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
尚硅谷是一个教育机构,他们提供了一份关于Redis学习笔记。根据提供的引用内容,我们可以了解到他们提到了一些关于Redis配置和使用的内容。 首先,在引用中提到了通过执行命令"vi /redis-6.2.6/redis.conf"来编辑Redis配置文件。这个命令可以让你进入只读模式来查询"daemonize"配置项的位置。 在引用中提到了Redis会根据键值计算出应该送往的插槽,并且如果不是该客户端对应服务器的插槽,Redis会报错并告知应该前往的Redis实例的地址和端口。 在引用中提到了通过修改Redis的配置文件来指定Redis的日志文件位置。可以使用命令"sudo vim /etc/redis.conf"来编辑Redis的配置文件,并且在文件中指定日志文件的位置。 通过这些引用内容,我们可以得出结论,尚硅谷的Redis学习笔记涵盖了关于Redis的配置和使用的内容,并提供了一些相关的命令和操作示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Redis学习笔记--尚硅谷](https://blog.csdn.net/HHCS231/article/details/123637379)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Redis学习笔记——尚硅谷](https://blog.csdn.net/qq_48092631/article/details/129662119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值