Mac OS 下搭建memcached java 增删改查

    安装

1,安装brew:访问官网 http://brew.sh/

     直接拷贝

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

到命令行,回车,按提示完成安装。


2,用brew安装memcached

   brew install memcached

回车,按提示完成安装,一分钟之内。


3,启动memcached

  

sudo /usr/local/bin/memcached -d -m 2048  -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid

参数说明:
-d 启动为守护进程
-m <num> 分配给 Memcached使用的内存数量,单位是MB,默认为64MB
-u <username> 运行 Memcached的用户,仅当作为root运行时
-l <ip_addr> 监听的服务器IP地址,默认为环境变量INDRR_ANY的值
-p <num> 设置 Memcached监听的端口,最好是1024以上的端口
-c <num> 设置最大并发连接数,默认为1024
-P <file> 设置保存 Memcached的pid文件,与-d选择同时使用

参考:http://blog.163.com/evan__zhang@yeah/blog/static/121032757201031205628800/

 使用 memcached 增删改查、cas等

     1,使用java

      2,memcached客户端使用 Xmemcached,

其他java memcached客户端比较参考:http://blog.csdn.net/arui_email/article/details/8129400


       刚放实例代码:https://github.com/killme2008/xmemcached



  Memcached stats查看状态

终端输入:

localhost:~ gzq$ telnet 127.0.0.1 11211

回车

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.


接着直接输入:stats

输出


STAT pid 55020
STAT uptime 90432
STAT time 1468574529
STAT version 1.4.24
STAT libevent 2.0.22-stable
STAT pointer_size 64
STAT rusage_user 16.360309
STAT rusage_system 37.418904
STAT curr_connections 5
STAT total_connections 203
STAT connection_structures 10
STAT reserved_fds 20
STAT cmd_get 1255439
STAT cmd_set 1215415
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 1255434
STAT get_misses 5
STAT delete_misses 0
STAT delete_hits 8
STAT incr_misses 0
STAT incr_hits 5
STAT decr_misses 0
STAT decr_hits 79
STAT cas_misses 0
STAT cas_hits 730054
STAT cas_badval 485336
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 52580358
STAT bytes_written 53257310
STAT limit_maxbytes 2147483648
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bytes 903
STAT curr_items 3
STAT total_items 730077
STAT expired_unfetched 1
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 1
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 63909
END


每个参数的具体含义,可以参考:http://blog.chinaunix.net/uid-24250828-id-3242949.html





Java Spring Boot中使用Memcached作为缓存技术,可以帮助提高应用性能,通过减少数据库访问次数。以下是Spring Boot集成Memcached的基本操作: 1. 添加依赖:首先,你需要在你的`pom.xml`文件中添加Spring Data MemcachedMemcached客户端库的依赖。 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>net.spy</groupId> <artifactId>spymemcached</artifactId> </dependency> ``` 2. 配置 Memcached:在`application.properties`或`application.yml`中添加Memcached的配置,例如主机名和端口。 ```properties spring.data.memcached.servers=localhost:11211 ``` 3. 使用`@Cacheable`注解进行缓存读取(增): 在方法上添加`@Cacheable`,Spring会尝试从Memcached获取数据,如果存在则返回,不存在则执行实际的方法并存入缓存。 ```java @GetMapping("/cache") @Cacheable("myCacheKey") public String fetchData() { // 实际的业务逻辑 } ``` 4. 使用`@CachePut`注解进行缓存更新(改): 如果你想更新缓存中的值,可以使用`@CachePut`。这会在缓存中找到指定键的值后,执行你的更新操作。 ```java @PostMapping("/update") @CachePut(value = "myCacheKey", key = "#id") public void updateData(@RequestBody MyEntity entity) { // 更新数据逻辑 } ``` 5. 使用`@CacheEvict`注解进行缓存删除(删): 如果需要从缓存中移除某个键的数据,可以使用`@CacheEvict`。 ```java @DeleteMapping("/delete") @CacheEvict(value = "myCacheKey", key = "#id") public void deleteData(@PathVariable Long id) { // 删除数据逻辑 } ``` 6. 使用`@CacheConfig`和`@Caching`进行批量操作(查): 如果需要对多个键进行缓存操作,可以使用`@Caching`注解,并在`@CacheConfig`中定义缓存策略。 ```java @Configuration @EnableCaching public class CacheConfig { @Bean public CacheManager cacheManager() { return new SimpleCacheManager(Arrays.asList( new RedisCacheConfiguration("myOtherCache"))); } } @GetMapping("/batchFetch") @Caching(caches = {"myOtherCache"}) public List<String> fetchManyData() { // 执行多个查询操作 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值