- #存在返回1
- 127.0.0.1:6379> exists name
- (integer) 1
- #不存在返回0
- 127.0.0.1:6379> exists you
- (integer) 0
|
- ?
- 127.0.0.1:6379> del name
- (integer) 1
- 127.0.0.1:6379> del you
- (integer) 0
|
- 127.0.0.1:6379> expire name 10
- (integer) 1
- 127.0.0.1:6379> get name
- "inter"
- 127.0.0.1:6379> get name
- "inter"
- 127.0.0.1:6379> get name
- "inter"
- 127.0.0.1:6379> get name
- (nil)
|
- 127.0.0.1:6379> select 0
- OK
- 127.0.0.1:6379> set sex boy
- OK
- 127.0.0.1:6379> get sex
- "boy"
- 127.0.0.1:6379> move sex 1
- (integer) 1
- 127.0.0.1:6379> get sex
- (nil)
- 127.0.0.1:6379> select 1
- OK
- 127.0.0.1:6379[1]> get sex
- "boy"
|
- 127.0.0.1:6379> expire name 300
- (integer) 1
- 127.0.0.1:6379> ttl name
- (integer) 296
- 127.0.0.1:6379> persist name
- (integer) 1
- 127.0.0.1:6379> ttl name
- (integer) -1
|
- 127.0.0.1:6379> randomkey
- "name"
|
- 127.0.0.1:6379> set name hello
- OK
- 127.0.0.1:6379> rename name you
- OK
- 127.0.0.1:6379> get you
- "hello"
|
- 127.0.0.1:6379> type you
- string
|
- #输入ping返回pong,说明网络连接成功
- #返回could not connect to Redis at 127.0.0.1:6379:Connection refused 说明网络连接不成功
- 127.0.0.1:6379> ping
- PONG
|
- 127.0.0.1:6379> echo you
- "you"
|
- 127.0.0.1:6379> select 10
- OK
- 127.0.0.1:6379[10]>
|
- 127.0.0.1:6379> quit
- djy@ubuntu:~/toolkit/redis/src$
|
- 127.0.0.1:6379> dbsize
- (integer) 2
- 127.0.0.1:6379>
|
- 127.0.0.1:6379> info
- # Server
- redis_version:2.8.13
- redis_git_sha1:00000000
- redis_git_dirty:0
- redis_build_id:b762f6d0aafec306
- redis_mode:standalone
- os:Linux 3.8.0-19-generic x86_64
- arch_bits:64
- multiplexing_api:epoll
- gcc_version:4.7.3
- process_id:28321
- run_id:8ebdbe81c7153e1e6bd0979d365ca9c8480f8c9f
- tcp_port:6379
- uptime_in_seconds:2155
- uptime_in_days:0
- hz:10
- lru_clock:15851433
- config_file:/home/djy/toolkit/redis/redis.conf
- …
- …
|
- 127.0.0.1:6379> config get save
- 1) "save"
- 2) "900 1 300 10 60 10000"
- 127.0.0.1:6379>
|
- 127.0.0.1:6379> keys *
- 1) "name"
- 2) "you"
- 3) "sex"
- 4) "new_name"
- 127.0.0.1:6379> flushdb
- OK
- 127.0.0.1:6379> keys *
- (empty list or set)
|
- #进入redis文件夹,修改redis.conf文件
- #requirepass foobared
- requirepass djy
- ?
- #之后进入客户端,操作redis数据库的时候,要进行授权操作
- auth djy
- #或者在进入客户端的时候,输入
- redis-cli –a djy
|
Redis数据库的学习与实践—Redis的常用命令及高级应用
一:Redis的常用命令
Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在Linux终端使用。
1:键值相关命令。
(1)keys
返回满足给定pattern的所有Key;
(2)exists
确认一个key是否存在;
(3)del
删除一个key;
(4)expire
设置一个key的过期时间;
(5)move
将当前数据库中的key转移到其他数据库当中;
(6)persist
移除给定key的过期时间;
(7)randomkey
随机返回key空间的一个key;
(8)rename
重命名key;
(9)type
返回值的类型。
2:服务器相关命令。
(1)ping
测试连接是否存活;
(2)echo
在命令行打印内容;
(3)select
选择数据库,Redis数据库编号从0~15,我们可以选择任意一个数据库来进行数据的存取;
(4)quit
退出连接;
(5)dbsize
(6)info
redis服务器的信息;
(7)configget
实时转储收到的请求,返回相关配置的参数;
(8)flushdb
删除当前选择数据库中的所有key;
(9)flushall
删除所有数据库中的所有key;
二:Redis高级实用特性
(1)安全性
设置客户端连接后进行任何其他指定前需要使用的密码。
警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力
破解。
(2)主从复制
Redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server 相同的数据库副本。
特点:
Master可以拥有多个slave;
多个slave可以连接同一个master,还可以连接到其他slave;
主从复制不会阻塞master,在同步数据时,master可以继续处理client请求;
提高系统的伸缩性。
主从复制过程:
Slave与master建立连接,发送sync同步命令
Master会启动一个后台进程,将数据库快照保存到文件中,同时master住进程会开始