Redis安装及通用key
Redis简介
Redis作为热点数据的缓存服务器,还有其支持队列以及发布/订阅等多种场景的特点,在很多项目中都会被普遍的使用到。在Redis的官方网站redis.io中可以看到以下描述:
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings,
hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction,
transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
redis是开源,BSD许可,高级的key-value存储系统. 可以用来存储字符串,哈希结构,链表,集合,因此,常用来提供数据结构服务.
Redis安装
笔者当前redis的最新稳定版本是redis-4.0.1,也可以前往官网redis.io进行下载。
1.解压缩,并进入目录redis-4.0.1
[[email protected] ~]# tar -xvzf redis-4.0.1.tar.gz
2.不用configure,编译make
[[email protected] redis-4.0.1]# make
3.可选操作 make test
4.安装到指定的目录,比如 /usr/local/redis
[[email protected] redis-4.0.1]# cd /usr/local
[ro[email protected] local]# mkdir redis
重新进入redis-4.0.1,进行make install
[[email protected] redis-4.0.1]# make PREFIX=/usr/local/redis install
执行过程发生错误:/bin/sh: cc: command not found
安装cc命令:[[email protected] redis-4.0.1]# yum install gcc
重新make install即可
此时进入指定的安装目录/usr/local/bin下可以看到以下文件:
5.复制redis的配置文件 redis.conf
在下载下来的源文件中有包含一份redis.conf,将此配置文件复制一份到我们刚才安装的指定目录下:cp redis.conf /usr/local/redis
6.启动与测试
此时就可以运行redis服务进程了:./bin/redis-server ./redis.conf
另开一个连接,使用redis-cli进行连接服务进程:
redis服务进程如果想关闭的话可以直接按Ctrl+C,或者关闭终端即可。redis客户端执行quit命令即可退出。
7.此时redis服务进程是以终端的形式进行运行的,这样会导致如果关闭终端的话,redis服务进程也会跟着关闭,所以我们设置redis以后台服务进程的形式进行运行
先停止redis服务进程,修改redis.conf配置文件,默认情况下,daemonize属性值为no,这里为让redis以后台服务进程的形式运行,更改daemonize属性为yes:
然后重启启动即可。
以后台服务进程运行的redis会打印以下消息:
处于daemonize为yes运行状态的redis服务,如果想关闭的话,要使用客户端的以下命令:(关闭的是本地的redis服务进程)
[[email protected] redis]# ./bin/redis-cli-p 6379 shutdown
Redis常用通用Key使用
redis命令说明文档链接:http://redisdoc.com/
1.查看当前database下的所有key
命令:keys pattern 有3个通配符 *, ? ,[]
*: 通配任意多个字符 ?:通配单个字符 []: 通配括号内的某1个字符
2.当前database下随机返回一个key
命令:randomkey
3.查询当前database下key是否存在
命令:exists key 存在返回1,否则返回0
4.查询指定key存储的值的类型
命令:type key有string,link,set,order
set, hash等
当key不存在时返回none
5.删除key 多个key以空格分隔
命令:del key1 key2 ... 成功删除存在的key返回1,否则返回0
6.重命名key
命令:rename key newkey当重命名newkey名已经存在,则会覆盖掉之前的key
如果key不存在,则会报错(error) ERR no such key
7.重命名key
命令:renamenx key newkey
重命名成功返回1,否则返回0
8.更换database
命令:select database序号
redis.config配置文件下的database属性的值为16,一个redis进程,打开了不止一个数据库,默认打开16个数据库,从0到15编号,使用select可以切换redis的database。
9.移动key到指定的database中去
命令:move key db
10.查询key的生命周期
命令:ttl key 返回是秒数
当key不存在时返回-2,当key是会话永久有效时返回-1,否则返回还剩余的有效秒数
11.设置key的生命周期
命令:expire key s s是指秒数
·12.以毫秒为单位的查询以及设置生命周期命令
同理:
pexpire key毫秒数,设置生命周期
pttl key,以毫秒返回生命周期
13.设置key为永久有效
命令:persist key