关于Redis数据库,如何安装、启动、配置windows服务等操作在之前的文章中有描述,
请参考:
Redis(1)windows安装、设置密码、设置windows启动服务
##Redis绑定IP##
在Redis配置文件中,我们可以绑定客户端IP,也就起到了显示某些IP禁止方位数据库的作用,这样提高系统的数据库安全。如何绑定呢?
修改redis.windows-service.conf配置文件:
# 多IP的情况
# bind 192.168.1.100 10.0.0.1
# 单个IP的绑定方式
# bind 127.0.0.1
##数据库基本操作##
//登录
E:\Tools\Redis-x64-3.0.504>redis-cli.exe -p 6379 -a password
//列出所有keys
127.0.0.1:6379> keys *
(empty list or set)
//设置key为name value为ruyulin的一条数据
127.0.0.1:6379> set name ruyulin
OK
//获取kay为name的值
127.0.0.1:6379> get name
"ruyulin"
//列出所有keys
127.0.0.1:6379> keys *
1) "name"
//删除key为name的数据
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
//打印数据库信息
127.0.0.1:6379> info
# Server
redis_version:3.0.504
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:a4f7a6e86f2d60b3
redis_mode:standalone
os:Windows
arch_bits:64
multiplexing_api:WinSock_IOCP
process_id:16796
run_id:bca5413509de865aba7573a10ad76079b3ceeb1a
tcp_port:6379
uptime_in_seconds:681
uptime_in_days:0
hz:10
lru_clock:3371112
config_file:E:\Tools\Redis-x64-3.0.504\redis.windows-service.conf
# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
# Memory
used_memory:693232
used_memory_human:676.98K
used_memory_rss:655480
used_memory_peak:693232
used_memory_peak_human:676.98K
used_memory_lua:36864
mem_fragmentation_ratio:0.95
mem_allocator:jemalloc-3.6.0
# Persistence
loading:0
rdb_changes_since_last_save:3
rdb_bgsave_in_progress:0
rdb_last_save_time:1530097087
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
# Stats
total_connections_received:1
total_commands_processed:8
instantaneous_ops_per_sec:0
total_net_input_bytes:252
total_net_output_bytes:135
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:1
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
migrate_cached_sockets:0
# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
# CPU
used_cpu_sys:0.11
used_cpu_user:0.08
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
# Cluster
cluster_enabled:0
# Keyspace
db0:keys=1,expires=0,avg_ttl=0
//列出客户端连接信息
127.0.0.1:6379> client list
id=2 addr=127.0.0.1:10646 fd=9 name= age=117 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
//获取数据库总记录数
127.0.0.1:6379> dbsize
(integer) 1
//清空数据库
127.0.0.1:6379> flushall
OK
##数据库支持的数据类型##
- String:基本类型,一个key对应一个value
- Hash:key value键值对的方式存储
- List 有序的集合
- Set 无序集合
- Zset 有序集合
###String类型###
刚才上面的操作就是基于String类型操作的
//设置key为name value为ruyulin的一条数据
127.0.0.1:6379> set name ruyulin
OK
//获取kay为name的值
127.0.0.1:6379> get name
"ruyulin"
###Hash类型###
//设置集合
127.0.0.1:6379> hmset user name ruyulin age 30
OK
//获取集合属性
127.0.0.1:6379> hget user name
"ruyulin"
127.0.0.1:6379> hget user age
"30"
###List类型###
List集合可以从两侧插入数据
//从左侧插入集合数据
127.0.0.1:6379> lpush age 30
(integer) 1
127.0.0.1:6379> lpush age 300
(integer) 2
127.0.0.1:6379> lpush age 3000
(integer) 3
//列出集合所有数据
127.0.0.1:6379> lrange age 0 -1
1) "3000"
2) "300"
3) "30"
//排序升序
127.0.0.1:6379> sort age
1) "30"
2) "300"
3) "3000"
//排序降序
127.0.0.1:6379> sort age desc
1) "3000"
2) "300"
3) "30"
//从右侧插入数据
127.0.0.1:6379> rpush name 3000
(integer) 1
127.0.0.1:6379> rpush name 300
(integer) 2
127.0.0.1:6379> rpush name 30
(integer) 3
127.0.0.1:6379> lrange name 0 -1
1) "3000"
2) "300"
3) "30"
###Set集合###
//设置值 testset 是key
127.0.0.1:6379> sadd testset 1
(integer) 1
127.0.0.1:6379> sadd testset 2
(integer) 1
127.0.0.1:6379> sadd testset 3
(integer) 1
127.0.0.1:6379> sadd testset aa
(integer) 1
//列出集合数据
127.0.0.1:6379> smembers testset
1) "aa"
2) "3"
3) "2"
4) "1"
//删除指定数据
127.0.0.1:6379> srem testset 2
(integer) 1
127.0.0.1:6379> smembers testset
1) "aa"
2) "3"
3) "1"
###Zset集合###
是有序的集合,是通过评分进行排序的
//设置值 8 10 13 为分数
127.0.0.1:6379> zadd userset 8 zhangdan
(integer) 1
127.0.0.1:6379> zadd userset 10 lisi
(integer) 1
127.0.0.1:6379> zadd userset 13 wangwu
(integer) 1
//通过分数区间来排序
127.0.0.1:6379> zrangebyscore userset 0 100
1) "zhangdan"
2) "lisi"
3) "wangwu"
###JAVA操作Redis数据库###
操作数据库需要Jedis-2.9.0.jar,使用查询下api操作即可
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>